参考:python的推导式、生成器、迭代器总结_巧妇难为无米之炊的博客-CSDN博客
1.推导式:列表推导式 字典推导式 集合推导式
x=[i+1 if i %2 ==0 else i+2 for i in [1,2,3,4,5,6,7,8,9]]
print(x)
x=[i+1 for i in [1,2,3,4,5,6,7,8,9] if i %2 ==0 ]
print(x)
{key ,value for k,v in dict.item}
2.生成器
x=(i+1 for i in [1,2,3,4,5,6,7,8,9])
print(type(x))
def x():
while True:
print(3)
yield
print(next(x()))
print(x().__next__())
3.迭代器
生成器,天生是迭代器。迭代器的定义,就是可以用next()函数来调用,并返回一个函数值。
列表、字符串等是可迭代,但是并不是迭代器。是否可迭代,需要借助isinstance(f,Iterable)
来判断。
要生成迭代器,可以借助iter函数来生成。