在字典上合并键-Python
我想在python图形中使用minimun cuts算法,以便:在字典上合并键-Python,python,dictionary,merge,Python,Dictionary,Merge,我想在python图形中使用minimun cuts算法,以便: { 1 : [5, 8, 10], 2 :[3, 8, 9] } == { 1 : [5, 8, 10, 3, 9] } 什么是合并词典的更具python风格的方法?您可以使用set.union获取唯一值,然后将其转换为set,并使用min函数获取最小键: >>> {min(d.keys()):list(set().union(*d.values()))} {1: [8, 9, 10, 3, 5]} 您可以
{ 1 : [5, 8, 10], 2 :[3, 8, 9] } == { 1 : [5, 8, 10, 3, 9] }
什么是合并词典的更具python风格的方法?您可以使用
set.union
获取唯一值,然后将其转换为set,并使用min
函数获取最小键:
>>> {min(d.keys()):list(set().union(*d.values()))}
{1: [8, 9, 10, 3, 5]}
您可以使用
set.union
获取唯一值,然后将其转换为set,并使用min
功能获取最小键:
>>> {min(d.keys()):list(set().union(*d.values()))}
{1: [8, 9, 10, 3, 5]}
如果您有两个列表:
a = [5, 8, 10]
b = [3, 8, 9]
您可以将它们与最小切割策略合并,如下所示:
list(set(b) | set(a))
如果要就地执行操作,请使用:
a[:] = list(set(b) | set(a))
如果您有两个列表:
a = [5, 8, 10]
b = [3, 8, 9]
您可以将它们与最小切割策略合并,如下所示:
list(set(b) | set(a))
如果要就地执行操作,请使用:
a[:] = list(set(b) | set(a))
您可以
导入运算符
,然后通过这样将它们彼此相加来减少字典中的值
set(reduce(operator.add, d.values())) # the set of each successive value added to the next
您可以导入运算符
,然后通过这样将它们彼此相加来减少字典中的值
set(reduce(operator.add, d.values())) # the set of each successive value added to the next
为什么Jojo的两个列表值?“Jojo”,它是针对文本文件的输入进行测试,我发现它比使用图形函数更容易,当你考虑使用其中一个答案时,我也会考虑从开始使用集合,Jojo为什么是一个字典的两个列表值?“Jojo”,它是用来测试一个文本文件的输入,而我发现它比使用图形函数更容易,当你考虑使用一个答案时,我也会考虑从一开始就使用集合,而不是考虑List.Wo不<代码>列表(SET(A)集合(B))< /Cord>?@ WorsServer尝试!提示:+
运算符可能没有为集定义。我真傻,
-当然@jojo|
做什么?它像一个regex
基本上像一个还是?@HalcyonAbrahamRamirez有两个集合a | b==a.union(b)
为什么不列表(集合(a)|集合(b))
?@worldssender试试看!提示:+
运算符可能没有为集定义。我真傻,
-当然@jojo|
做什么?它是否像一个regex
基本上类似于或
?@halcyonabrahamramiriz,具有两组a | b==a.union(b)
是否打印了?您需要对输出调用set
。@jojo OP从未说过要删除重复项。没有明确地说,但如果您仔细看问题,所需的输出会删除重复项。@jojo更正了,没有注意到那里的8。您打印了吗?您需要对输出调用set
。@jojo OP从未说过要删除重复项。没有明确地说,但如果仔细看问题,所需的输出会删除重复项。@jojo更正了,没有注意到其中的8。