列表解析的方式创建列表
l=["a%s"%i for i in range(10)] print(l)
生成器表达式
l=("a%s"%i for i in range(10)) #把中括号换成了小括号 print(l) #输出的是生成器格式,需要列表化 print(list(l))
!!!生成器只能遍历一遍
def test(): for i in range(4): yield i t=test() for i in t: print(i) ti=list((i for i in t)) print(ti)
#输出结果:
0
1
2
3
[] 因为在粉色的代码中已经遍历了一次了,之后就不会遍历了
原文:https://www.cnblogs.com/yxzymz/p/12776151.html