我正在看一个视频教程,我被dict()命令中的for循环弄得措手不及。我很难在dict()命令上搜索东西(一直在字典上获取定义,而不是命令),所以我现在假设我可以在命令中添加for循环。你知道吗
在他们使用的视频中
dict((m[:3].lower(),m) for m in months)
所以我很好奇这是否和
for m in months:
variable = dict((m[:3].lower(),m))
这是供参考的视频
https://youtu.be/a2sLiEgBl9k?t=1m17s
Tags:
此表达式正在使用生成器表达式创建
dict
。你知道吗相当于
你的第二个循环不是在做同样的事情。每个月迭代一次,然后用一个条目创建一个
dict
,并将其分配给variable
。每次迭代都会覆盖此变量。你知道吗从代码来看,他们正试图制作这样一本字典:
不,那不一样。你知道吗
您的版本在每次迭代中创建一个新的dictionary对象,只有一个键和值。视频中的版本创建一个带有一系列键值对的dictionary对象。你知道吗
视频中的版本相当于:
而是使用generator expression在循环中生成键值对(作为元组)。
dict()
对象获取每个这样的对,并将它们添加到正在构造的字典中。你知道吗在Python2.7及更新版本中,也可以使用dictionary comprehension编写:
最终的结果是一本字典,每个月的前三个字母(小写)作为关键字:
相关问题 更多 >
编程相关推荐