У меня есть список таких списков:
[['sd', 'pd', 'od'], ['sd', 'pd1', 'od2'], ['sd2', 'pd2', 'od']]
и я хочу, чтобы вывод был ['sd pd od ; pd1 od2 .', 'sd2 pd2 od .']
Итак, я хочу сравнить первый элемент каждого списка друг с другом, и если они совпадают, я хочу пропустить первый элемент (который встречается во втором списке).
Вот мой код, который не работает, так как слишком сильно сравнивает элементы, и я не знаю почему.
def simplistic(triples):
base = []
for x in triples:
for y in triples:
if x[0] == y[0]:
base.append((x[:],y[1],y[2]))
print(base)
Вывод этого кода:
[(['sd', 'pd', 'od'], 'pd', 'od'), (['sd', 'pd', 'od'], 'pd1', 'od2'), (['sd', 'pd1', 'od2'], 'pd', 'od'), (['sd', 'pd1', 'od2'], 'pd1', 'od2'), (['sd2', 'pd2', 'od'], 'pd2', 'od')]