我有以下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]]
完全符合预期。
我对字典有什么看法?
FYI,python
命令返回:
Python 2.7.4 (default, Apr 19 2013, 18:32:33)
[GCC 4.7.3] on linux2
答案 0 :(得分:5)
词典具有唯一键。您不能将密钥1
(例如)映射到多个值。
如果您需要针对某个键存储多个值,请存储值列表而不是单个值。
答案 1 :(得分:2)
我对字典有什么看法?
钥匙是独一无二的。你可以在这里阅读文档中的字典:
http://docs.python.org/2/library/stdtypes.html#mapping-types-dict