推导式

1. 列表推导式

循环模式: [变量(加工的变量) for 循环]

print([i*2 for i in range(10)])

筛选模式: [变量(加工的变量 for 循环 条件)]

print([i for i in range(20) if i % 2 == 0])

2. 生成器表达式

循环模式: (变量(加工的变量) for 循环)

gen = (i**2 for i in range(10))
print(gen)
# 结果: <generator object <genexpr> at 0x0000026046CAEBF8>

筛选模式: (变量(加工的变量 for 循环 条件))

gen = (i for i in range(1,100) if i % 3 == 0)
for num in gen:
    print(num)

列表推导式得到的是一个列表, 生成器表达式获取的是一个生成器

3. 字典推导式 {键:值 for循环 加工条件}

4. 集合推导式 {变量(加工后的变量) for循环 加工条件}

上一篇:生成器高级特性2


下一篇:【11.5】生成器进阶--send、close和throw方法