1.推导式
推导式在使用时,只能用for循环和条件判断
而且判断只能是单向的
(1)列表推导式
1)普通推导式
2)带有判断条件的推导式
3)多循环推导式
4)带有判断条件的多循环推导式
(2)集合推导式
(3)字典推导式
1)enumerate
2)zip
2.生成器(generator)
元组推导式是生成器
生成器本质是迭代器,是允许自定义逻辑的迭代器
迭代器和生成器的区别:
迭代器本身是系统内置的,重写不了,而生成器是用户自定义的,可以重写迭代逻辑
生成器可以用两种方式创建:
1)生成器表达式 (里面是推导式,外面用圆括号)
2)生成器函数 (用def定义,里面含有yield)
2.1生成器表达式
1.用生成器表达式定义一个生成器
2.next调用生成器
3.for循环调用生成器
4.for+next调用生成器
5.用list强制转换生成器,瞬间拿到所有数据
2.2生成器函数
1.基本语法
2.send函数
3.yield from:将一个可迭代对象变成一个迭代器返回