python 列表推导式使用详解

yipeiwu_com5年前Python基础

所谓的列表推导式,就是指的轻量级循环创建列表。

基本使用方式

# 创建一个0-10的列表
a = [x for x in range(11)]
print(a)
"""
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
"""

上面的列表推导式等价于下面,只是代码非常简化。

a = []
for x in range(10):
  a.append(x)

在循环的过程中使用if

# 创建一个1-10之间偶数的列表
a = [x for x in range(11) if x%2==0]
"""
输出结果:
[0, 2, 4, 6, 8, 10]
"""

等价于

a = []
for x in range(11):
  if x%2 == 0:
    a.append(x)

2个for循环

a = [(x,y) for x in range(3) for y in range(3)]
print(a)
"""
输出结果:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
"""

等价于

a = []
for x in range(3):
  for y in range(3):
    a.append((x,y))

练习

生成一个[[1,2,3],[4,5,6]....]的列表最大值在100以内

首先考虑一下正常情况我们应该怎么写

a = []
for x in range(1,100,3):
  a.append([x,x+1,x+2])

然后再把它转换成列表推导式

a = [[x,x+1,x+2] for x in range(1,100,3)]

文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值

相关文章

python区块及区块链的开发详解

python区块及区块链的开发详解

接着上一篇交易记录整合交易类,这里描述区块的开发。 首先我们要明白一个区块,需要的内容,包括交易记录集合,时间戳,哈希,上一个区块的哈希。明白了这个,下面就容易代码开发了。 impo...

Python 将json序列化后的字符串转换成字典(推荐)

一般而言下面的就可以完成需求了。 def convertToDic(data): jsonDic=json.loads(data) return dict(jsonDic) 但...

Python语言实现机器学习的K-近邻算法

Python语言实现机器学习的K-近邻算法

写在前面 额、、、最近开始学习机器学习嘛,网上找到一本关于机器学习的书籍,名字叫做《机器学习实战》。很巧的是,这本书里的算法是用Python语言实现的,刚好之前我学过一些Python基础...

Python Pandas实现数据分组求平均值并填充nan的示例

Python Pandas实现数据分组求平均值并填充nan的示例

Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值。 DataFrame数据格式 fillna方式实现 groupby方式实现 DataFrame数...

详解python编译器和解释器的区别

高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器。 编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——...