python 列表推导式

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

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

如:

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

输出为:

 

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

如:

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

输出为:

 

以及对多重嵌套的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)

输出为:

如:

# 想得到多重嵌套的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)

输出为:

 

posted @ 2018-08-30 17:28  HEHEOMG  阅读(17020)  评论(0编辑  收藏  举报