生成器和列表达式的区别:
生成器格式最外层是一个(),而列表解析格式最外层是一个[]
生成器是将数据不用一次读取,而列表解析是一次读取所有数据(耗内存)
生成器返回的是生成器对象,不能直接循环输出,列表解析直接对应一个列表,可以直接print输出。以下是代码:
l=["a"for i in range(10)]#列表解析,数据量大的时候比较笨重
print(l)
w=(“a” for i in range(10))#生成器表达式
print(list(w))
生成器和列表达式的区别:
生成器格式最外层是一个(),而列表解析格式最外层是一个[]
生成器是将数据不用一次读取,而列表解析是一次读取所有数据(耗内存)
生成器返回的是生成器对象,不能直接循环输出,列表解析直接对应一个列表,可以直接print输出。以下是代码:
l=["a"for i in range(10)]#列表解析,数据量大的时候比较笨重
print(l)
w=(“a” for i in range(10))#生成器表达式
print(list(w))