С помощью:
for i in a:
for y in b:
if i[1:4] == y[0:3]:
print("Совпадение: ", "i = ", i[1:4], "y = ", y[0:3])
result = list(y)
result.insert(0, i[0])
print("result :", result)
if result not in total:
total.append(result)
print("total :", total)
получилось вывести: total : [['1', 'a', 'b', 'c', 'd'], ['2', 'x', 'y', 'z', 'w'], ['3', 'x', 'y', 'z', 'w']].
Но если во 2 кортеже изменится значение элемента:
b = [('a', 'b', 'c', 'd'), ('x', 'y', 'z', 'w'), ('x', 'y', 'z',
'p'), ('u', 'o', 'n', 'm')]
то мы получаем:
total : [['1', 'a', 'b', 'c', 'd'], ['2', 'x', 'y', 'z', 'w'], ['2', 'x', 'y', 'z', 'p'], ['3', 'x', 'y', 'z', 'w'], ['3', 'x', 'y', 'z', 'p']].
Можно ли как это привести к виду total : [['1', 'a', 'b', 'c', 'd'], ['2', 'x', 'y', 'z', 'w'], ['3', 'x', 'y', 'z', 'p']]?