python 列表推导式

pythonxuexi 2019-12-06

python中列表推导式用于使用其他列表创建一个新列表。

其基本形式为: [表达式 for 变量 in 列表]  

如:

# 想得到1-10的平方组成的list
list_1_10 = [x**2 for x in range(1,11)]
print(list_1_10)

输出为:

python 列表推导式

复杂一点的列表表达式可以对原列表进行变换和筛选。

如:

# 想得到1-10中为偶数的平方组成的list
example = [i**2 for i in range(1,11) if i%2 == 0 ]
print(example)

输出为:

python 列表推导式

以及对多重嵌套的list进行变换筛选。

如:

# 想得到多重嵌套中的数是2的倍数的平方组成的list
example2 = [[1,2,3],[4,5,6],[7,8,9],[10]]
example3 = [j**2 for i in example2 for j in i if j%2 == 0]
print(example3)

输出为:

python 列表推导式

如:

# 想得到多重嵌套的list中一重嵌套中list长度大于1的list中的数为2的倍数的平方组成的list
example4 = [[1,2,3],[4,5,6],[7,8,9],[10]]
exmaple5 = [j**2 for i in example2 if len(i)>1 for j in i if j%2 == 0]
print(exmaple5)

输出为:

python 列表推导式

相关推荐