我正在观看一个视频教程,我对 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
最佳答案
此表达式使用生成器表达式创建一个 dict
。
d = dict((m[:3].lower(),m) for m in months)
相当于
d = dict()
for m in months:
d[m[:3].lower()] = m
你的第二个循环没有做同样的事情。您每个月都在迭代,然后创建一个包含单个条目的 dict
并将其分配给 variable
。每次迭代都会覆盖此变量。
从代码来看,他们正在尝试制作这样一个字典:
{'jan': 'January',
'feb': 'February',
'mar': 'March',
...
}
关于python - 这两个 python for 循环是一回事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355845/