看起来Python中的这个结构不是惰性的:
g1 = ["'"+x+"'" for x in f2]
这是关于IT技术的翻译内容:
g2 = ("'"+x+"'" for x in f2)
因为g2有一个next()
方法而g1没有。
这在哪里有说明文档?我似乎找不到相关的Python文档页面,也不知道应该查找什么内容。
看起来Python中的这个结构不是惰性的:
g1 = ["'"+x+"'" for x in f2]
这是关于IT技术的翻译内容:
g2 = ("'"+x+"'" for x in f2)
因为g2有一个next()
方法而g1没有。
这在哪里有说明文档?我似乎找不到相关的Python文档页面,也不知道应该查找什么内容。
列表推导式
,第二个被称为生成器表达式
,我希望这可以帮助您进行搜索。 - Ashwini Chaudharynext()
方法并不是惰性求值的决定性测试。考虑iter(range(1000))
,返回的迭代器具有next()
方法,但该对象仍然是一个完整的列表,在返回之前已经被求值和分配了内存(至少在Py 2.X中如此;Py 3k+则不同)。 - dawg