合并字典上的键 - Python

时间:2015-07-29 18:55:50

标签: python dictionary merge

我想在python图中使用最小化切割算法,以便:

 { 1 : [5, 8, 10], 2 :[3, 8, 9] } == { 1 : [5, 8, 10, 3, 9] }

合并字典的pythonic方式是什么?

3 个答案:

答案 0 :(得分:2)

你可以import operator然后reduce字典values将它们添加到彼此中

set(reduce(operator.add, d.values())) # the set of each successive value added to the next

答案 1 :(得分:1)

您可以使用set.union获取唯一值,然后将其转换为set并使用min函数获取最小键:

>>> {min(d.keys()):list(set().union(*d.values()))}
{1: [8, 9, 10, 3, 5]}

答案 2 :(得分:1)

如果您有两个列表:

a = [5, 8, 10]
b = [3, 8, 9]

您可以将它们与最小切割政策合并,如下所示:

list(set(b) | set(a))

如果您想进行操作,请使用:

a[:] = list(set(b) | set(a))