考虑以下列表:合并元组,如果他们有一个共同的元素
tuple_list = [('c', 'e'), ('c', 'd'), ('a', 'b'), ('d', 'e')]
我怎样才能做到这一点?
new_tuple_list = [('c', 'e', 'd'), ('a', 'b')]
我曾尝试:
for tuple in tuple_list:
for tup in tuple_list:
if tuple[0] == tup[0]:
new_tup = (tuple[0],tuple[1],tup[1])
new_tuple_list.append(new_tup)
但是,如果我有数组的元素按照一定的顺序,这意味着它会导致此相反,它仅适用:
new_tuple_list = [('c', 'e', 'd'), ('a', 'b'), ('d', 'e')]
您的合并策略是不明确 – alfasin
我想每一个都有一个元素的元组合并('c','d')''('c','d')',因为'c'是共同的,它会给我们'('c','e','d')'和然后将它与'('d','e')合并,因为'd'和'e'共同会导致'('c','e','d')' – Meryem
下面的例子基本上回答了一个非常类似的问题http://stackoverflow.com/questions/9118312/finding-tuples-with-a-common-element? – fedepad