Skip to main content
 首页 » 编程设计

python之这两个 python for 循环是一回事吗

2025年05月04日16over140

我正在观看一个视频教程,我对 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', 
 ... 
}