l=[2,3,5,7] l2=[x**2+1 for x in l] it=iter(l2) print(next(l2)) #5 l[1]=30 #为什么没变,,因为已经生成了一个新的列表,所以不会变 print(next(it)) #10 l=[2,3,5,7] l2=[x**2+1 for x in l] it=iter(l2) print(next(l2)) #5 l[1]=30 #为什么变了,,L2去寻回L的数据,L的数据已经改变,寻回的数据也就为30 print(next(it)) #901
通过以上例子,可知道 ==>>生成器表达式是现用现生成,列表推导式是一次性生成静态数据