【发布时间】:2020-07-03 06:03:29
【问题描述】:
我正在尝试在 Python 中评估一段代码,我在其中找到了这一行:
(int(j) for j in input().split())
当我运行它时,输出是:
<generator object <genexpr> at 0x00000266EEC8B2C8>
我无法理解这意味着什么。我将此行修改为tuple(int(j) for j in input().split()) 并运行它。对于输入我给了1 2 3,输出是(1,2,3)。
我在某处了解到没有元组理解之类的东西,那么这条线如何运行而不会出现语法错误?
【问题讨论】:
-
(x for y in list)是一个生成器。将该生成器传递给tuple()会生成一个元组,您也可以将其传递给list()或使用列表推导。
标签: python