4

我有两本词典

第一个 = {'id': 1, '年龄': 23}
第二 = {'id': 4, 'out': 100}

我想要输出字典为

{'id':5,'年龄':23,'out':100}

我试过了

>>> dict(first.items() + second.items())
{'年龄':23,'id':4,'out':100}

但我将 id 设为 4 但我希望它是 5 。

4

3 回答 3

13

你想使用collections.Counter

from collections import Counter

first = Counter({'id': 1, 'age': 23})
second = Counter({'id': 4, 'out': 100})

first_plus_second = first + second
print first_plus_second

输出:

Counter({'out': 100, 'age': 23, 'id': 5})

如果您需要结果为 true dict,只需使用dict(first_plus_second)

>>> print dict(first_plus_second)
{'age': 23, 'id': 5, 'out': 100}
于 2013-11-09T20:28:16.557 回答
0

如果要将第二个值添加到第一个值,可以这样做:

first = {'id': 1, 'age': 23}
second = {'id': 4, 'out': 100}

for k in second:
    if k in first:
        first[k] += second[k]
    else:
        first[k] = second[k]
print first

以上将输出:

{'age': 23, 'id': 5, 'out': 100}
于 2013-11-09T20:28:56.683 回答
0

您可以在之后简单地更新'id'密钥:

result = dict(first.items() + second.items())
result['id'] = first['id'] + second['id']
于 2013-11-09T20:29:11.440 回答