【发布时间】:2019-11-30 02:57:41
【问题描述】:
我的项目中有一些代码,但我遇到了一个我解决的问题,但我不知道它是如何工作的。当我更改代码中使用的括号类型时,年份的值是不同的。
当我在= 之后的语句开头和结尾处的第 2 行中使用方括号时
import datetime
years=[x for x in range(2015,datetime.datetime.now().year)]
当我print(years) 它给出输出[2015,2016,2017,2018]
但是当我像这样在第 2 行使用圆括号时
years=(x for x in range(1940,datetime.datetime.now().year))
当我打印它时,它会输出<generator object <genexpr> at 0x041DB630>
我不明白为什么会发生这种情况,谁能解释一下。谢谢
【问题讨论】:
-
这只是列表理解的语法与生成器表达式的语法。
标签: python python-3.x