【发布时间】:2021-08-17 07:01:56
【问题描述】:
我知道有很多方法可以从两个列表中创建字典,但我想使用两个 FOR 循环来迭代两个列表。因此,我使用了以下代码。令人惊讶的是,代码不会遍历包含字典键值的第二个列表,而只会将列表的最后一个元素视为值。
key = ['hello', 'mello', 'vello']
value = [1, 2, 3]
dictionary = {k: v for k in key for v in value}
print('dictionary is ', dictionary)
结果是:
dictionary is: {'hello': 3, 'mello': 3, 'vello': 3}
但我希望结果是:
dictionary is: {'hello': 1, 'mello': 2, 'vello': 3}
如果有人能为我澄清这一点,我将不胜感激。
【问题讨论】:
-
“令人惊讶的是,代码不会遍历包含字典键值的第二个列表”当然会。尝试做一个常规的嵌套循环并打印出值。它应该会发光
-
它确实遍历了第二个列表。覆盖。
标签: python dictionary list-comprehension dictionary-comprehension