python - 嵌套循环的字典理解没有按计划工作

标签 python python-2.7 dictionary nested-loops

我有以下 python 代码:

print {a:b for a in [1, 2] for b in [3, 4, 5]}

我希望给我这样的东西:

{1:3, 1:4, 1:5, 2:3, 2:4, 2:5}

但它却给了我这个:

{1: 5, 2: 5}

我也尝试过像 suggested here 这样的循环反转:

print {a:b for b in [3, 4, 5] for a in [1, 2]}

但它仍然给我错误的答案。 我也在这样的列表中尝试了相同的理解:

print [(a, b) for a in [1, 2] for b in [3, 4, 5]]

这完全符合预期。

关于字典,我错过了什么?

仅供引用,python 命令返回:

Python 2.7.4 (default, Apr 19 2013, 18:32:33) 
[GCC 4.7.3] on linux2

最佳答案

字典有唯一的键。您不能将键 1(例如)映射到多个值。

如果您需要针对一个键存储多个值,请存储一个值列表而不是单个值。

关于python - 嵌套循环的字典理解没有按计划工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792192/

相关文章:

python - 当我使用 scrapy xpath 时如何使用 count()

python - 分隔 numpy 数组中的数字,这些数字用单引号括起来,并用空格分隔

python - 这个python图像模糊函数有什么问题?

Python:检查 numpy 数组是否包含具有特定属性的对象

python - 如何确定一个单词是否按字母顺序在 Python 中拼写

Java8 : Map<X, Y> 到 Map<X, Z> 使用 RxJava

python - 类型错误 : '>' not supported between instances of 'float' and 'str'

python-2.7 - SQLAlchemy 混合属性比较器

ios - 字典出错

Python-将元组值添加到字典中的重复键