变量值随用随取
创建1000个元素的列表,如果只需要用前10个,那么后面90个内存空间就浪费掉
a=[i for i in range(100)] print(a)
生成器,generator,用next(obj)循环取值,只能朝前取值,不能后退。
a=(i for i in range(100)) print(a)
当next到最后会报StopIteration错误
用for循环取值,到最后不会报错
a=(i for i in range(10))for i in a: print(i)
while循环取值,最后会报错
a=(i for i in range(10)) while True: print(next(a))
python2
range=list
xrange=generator
python3
range=generator
xrange 没有