列表解析的方式创建列表

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
[]      因为在粉色的代码中已经遍历了一次了,之后就不会遍历了