生成一个数据列表
list_1 = []
for val in range(0,20,1):
list_1.append(val)
print(list_1)
使用列表推导式生成该数据列表
list_2 = [i for i in range(20)]
print(list_2)
'''
分析:
1、使用一行代码的列表推导式就完成了该列表的生成
2、[i for i in range(20)],第一个i元素代表向列表list_2中添加的元素
3、[i for i in range(20)],第二个i元素代表for循环遍历的i元素
'''
使用列表推导式生成只有偶数的数据列表
list_3 = [i for i in range(20) if i % 2 == 0]
print(list_3)
'''
分析:
[i for i in range(20) if i % 2 == 0],第三个if后面的i元素,
相当于是在for循环内部提取其中的i元素作条件校验。
'''
双重循环的列表推导式
list_4 = [(a,b) for a in range(4) for b in range(5)]
from pprint import pprint
pprint(list_4)
'''
分析:
其中a、b分别对应第一个和第二个for循环的遍历元素a、b,
同样可以加入a、b元素的条件校验,比如可以写成如下的列表推导式
list_5 = [(a,b) for a in range(4) if a % 2 == 0 for b in range(5) if b % 2 == 0]
'''
打开App,阅读手记