Python 如何在嵌套元组中获得对的唯一组合?

Python 如何在嵌套元组中获得对的唯一组合?,python,list,tuples,list-comprehension,Python,List,Tuples,List Comprehension,我有一个[(tuple1),(tuple2)]形式的成对列表,其中第一个tuple的长度可变,第二个tuple的长度为1 例如: [((0, 1, 2), 0), ((3, 4, 5), 0), ((12,), 1), ((0, 1, 4, 7), 1), ((12,), 1), ((3, 4, 5), 0)] 我想要set(pairs),其中tuple1\u pair\u X=tuple1\u pair\u Y&&tuple2\u pair\u X=tuple2\u pair\u Y

我有一个[(tuple1),(tuple2)]形式的成对列表,其中第一个tuple的长度可变,第二个tuple的长度为1

例如:

[((0, 1, 2), 0), 
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1), 
((12,), 1),
((3, 4, 5), 0)]
我想要
set(pairs)
,其中
tuple1\u pair\u X=tuple1\u pair\u Y&&tuple2\u pair\u X=tuple2\u pair\u Y
,而不是tuple1元素与tuple2的所有可能组合

期望输出:

[((0, 1, 2), 0), 
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1)] 

我想简单地在元组的原始列表上使用set()命令应该会起作用,并给出所需的输出

tup_list = [((0, 1, 2), 0), ((3, 4, 5), 0),((12,), 1),((0, 1, 4, 7), 1),((12,), 1),((3, 4, 5), 0)]
output = list(set(tup_list))

我想简单地在元组的原始列表上使用set()命令应该会起作用,并给出所需的输出

tup_list = [((0, 1, 2), 0), ((3, 4, 5), 0),((12,), 1),((0, 1, 4, 7), 1),((12,), 1),((3, 4, 5), 0)]
output = list(set(tup_list))

如果您想保持列表的顺序:

lst=[(0,1,2,0),
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1), 
((12,), 1),
((3, 4, 5), 0)]
已排序(集合(lst),键=lst.index)
产出:

[(0,1,2,0),
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1)] 

如果您想保持列表的顺序:

lst=[(0,1,2,0),
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1), 
((12,), 1),
((3, 4, 5), 0)]
已排序(集合(lst),键=lst.index)
产出:

[(0,1,2,0),
((3, 4, 5), 0), 
((12,), 1), 
((0, 1, 4, 7), 1)] 

您是否可以提供一个您尝试过的实现,它可以帮助我们改进您的回答我只尝试了set()命令,输出为[(0,)、0、(1,)、0、(2,)、0,…]等非重复元素扫描您提供一个您尝试过的实现,它可以帮助我们改进您的回答我只尝试了set()命令,输出为[(0,),0,(1,),0,(2,),0,…]等等,用于非重复元素