您必须使用Python 3。
在Python
2中,对象
zip和
range确实按照您的建议运行,返回列表。它们被更改为类似生成器的对象,它们按需生成元素,而不是将整个列表扩展到内存中。优势之一是在其典型用例中具有更高的效率(例如,对它们进行迭代)。
“懒惰”版本在Python 2.x中也存在,但是它们具有不同的名称,即
xrange和
itertools.izip。
要将所有输出一次检索到一个熟悉的列表对象中,您可以简单地调用
list以迭代并使用内容:
>>> list(range(3))[0, 1, 2]>>> list(zip(range(3), 'abc'))[(0, 'a'), (1, 'b'), (2, 'c')]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)