Объедините кортежи кортежей, если они разделят некоторые элементы
У меня было два кортежа ("один" и "два"), и мне нужно присоединиться к ним. Если подэлементы первого кортежа (например, один [0]) в позициях 1, 2, 3, 4 и 5 равны первым пяти элементам в кортеже два (например, если один [0][0] == два [0] [0] и один [0][1] == два [0][1] ... и один [0][5] == два [0][5]), затем они нужно объединить:
one = (
(25, "sample", "x", "y", "z", 200, 50, 45),
)
two = (
(25, "other", "p", "q", "r", 0),
)
result = (
(25, "sample", "x", "y", "z", 200, 50, 0, 45),
)
Например, с этим двумя кортежами
one = (
(25, "sample", "x", "y", "z", 200, 50, 45),
(25, "other", "p", "q", "r", 100, 25, 0),
(27, "sample", "x", "y", "z", 200, 50, 45),
(28, "other", "p", "q", "r", 100, 25, 0),
)
two = (
(1, "sample", "x", "y", "z", 45),
(25, "other", "p", "q", "r", 0),
(27, "sample", "x", "y", "z", 20),
(28, "other", "p", "q", "r", 1),
)
Результатом должно быть что-то вроде этого (это может быть список списка, список диктов или просто кортеж:
result = (
(1, "sample", "x", "y", "z", 0, 0, 45, 0),
(25, "sample", "x", "y", "z", 200, 50, 0, 45),
(25, "other", "p", "q", "r", 100, 25, 0, 0),
(27, "sample", "x", "y", "z", 200, 50, 20, 45),
(28, "other", "p", "q", "r", 100, 25, 1, 0),
)
Я не знаю, является ли лучший способ изменить эти кортежи для списков или, может быть, выполнить итерацию каждого кортежа и добавить каждый элемент в виде списка в новый.