如何在嵌套元组中获得唯一的对组合?
How to get unique combinations of pairs in nested tuples?
我有一个 [(tuple1), (tuple2)] 形式的对列表,其中第一个元组的长度可变,第二个元组的长度为 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_pair_X = tuple1_pair_Y && tuple2_pair_X = tuple2_pair_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))
如果您想保持列表顺序:
lst = [((0, 1, 2), 0),
((3, 4, 5), 0),
((12,), 1),
((0, 1, 4, 7), 1),
((12,), 1),
((3, 4, 5), 0)]
sorted(set(lst), key=lst.index)
输出:
[((0, 1, 2), 0),
((3, 4, 5), 0),
((12,), 1),
((0, 1, 4, 7), 1)]
我有一个 [(tuple1), (tuple2)] 形式的对列表,其中第一个元组的长度可变,第二个元组的长度为 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_pair_X = tuple1_pair_Y && tuple2_pair_X = tuple2_pair_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))
如果您想保持列表顺序:
lst = [((0, 1, 2), 0),
((3, 4, 5), 0),
((12,), 1),
((0, 1, 4, 7), 1),
((12,), 1),
((3, 4, 5), 0)]
sorted(set(lst), key=lst.index)
输出:
[((0, 1, 2), 0),
((3, 4, 5), 0),
((12,), 1),
((0, 1, 4, 7), 1)]