如何在python 2.7中为给定键添加值?

时间:2013-11-16 14:22:13

标签: python dictionary

我有一个key->值列表,我想添加到字典中。 有些键会出现不同的值,因此我必须创建一个每个键包含多个值的字典。 找不到办法做到这一点。

2 个答案:

答案 0 :(得分:3)

您可以在setdefault

中使用dict功能
myDict, items = dict(), [[1, 2], [1, 3], [2, 4]]
for key, value in items:
    myDict.setdefault(key, []).append(value)
print myDict

<强>输出

{1: [2, 3], 2: [4]}

或者您可以使用collections.defaultdict

from collections import defaultdict
myDict, items = defaultdict(list), [[1, 2], [1, 3], [2, 4]]
for key, value in items:
    myDict[key].append(value)
print myDict

<强>输出

defaultdict(<type 'list'>, {1: [2, 3], 2: [4]})

答案 1 :(得分:0)

对于同一个键,您不会多次指示您具有相同的值。 在任何情况下,如果要将多个值与一个值相关联以防止重复,则要使用set()

org_list = [(1,2), (1,3), (2,1), (2,2), (1,3)]
result = {}
for k, v in org_list:
    result.setdeault(k, set()).add(v)