【发布时间】:2020-09-15 01:28:36
【问题描述】:
在 Python Cookbook 第三版的第 29 页,作者做了如下声明:
"... 也可以通过创建一个元组序列并将它们传递给
dict()函数来完成。例如:
p1 = dict((key, value) for key, value in prices.items() if value > 200)
作者对作为“序列”传递给dict() 构造函数的参数的引用让我想知道......究竟是什么for ... in ...?不是表情吧?不能只在 Python 解释器中输入:for x in (1,2,3) 并收到结果吗?例如,list() 的 documentation 表明构造函数需要一个可迭代的,但我不清楚发生了什么。
【问题讨论】:
-
你可以
for x in (1,2,3):print(x)是的,这里的可迭代对象是一个元组 -
@MichaelSilverstein 显示的示例不是推导式,尽管您可以编写与 dict 推导式相同的功能。
-
@MisterMiyagi 这不是序列in the Python sense,不。
-
@S3DEV:哎呀,谢谢你的错字。是的,应该有一个结束括号。
标签: python list dictionary iterable