列表推导式,生成器表达式
列表推导式
li = [i for i in range(1, 100)]
示例,将含有两个e的人名留下
names = [['tom','biuli','jeffeson','annif','eedf'], ['alice','defe','kjh']] print([name for i in names for name in i if name.count('e') == 2])
生成器表达式,与列表推导式写法几乎一模一样
print((i for i in range(1, 100)))
列表推导式:
缺点:
1.列表推导式只能构建比较复杂且有规律的列表
2.超过三层循环才能构建成功,就不建议用列表推导式
3.查找错误(debug模式)不行
优点:
一行构建,简单
字典推导式
l1 = ['name','age','sex'] l2 = ['tom',15,'男'] dic = {l1[i]:l2[i] for i in range(len(l1))} print(dic)

浙公网安备 33010602011771号