у меня есть два списка
Source = [('A','B','IP1','N1'),('K','G','IP2','N2'),('W','T','IP4','N4'),('K','L','IP3','N3') ]
Target = [('B','A','IP5','N5'), ('T','W','IP6','N6'), ('G','K','IP2','N2')]
Вот мой код:
source_tuples = set([s[:2][::-1] for s in Source])
target_tuples = set([t[:2] for t in Target])
missed_target_tuples = list(source_tuples - target_tuples)
Target.extend(missed_target_tuples)
Re_Target = Target
С моим кодом: в Source, какие бы кортежи из первых 2 символов не были найдены в перевернутых кортежах из первых 2 символов Target, затем добавьте их в Target в обратном порядке, как показано в списке Re_Target
Re_Target = [('B', 'A', 'IP5', 'N5'), ('T', 'W', 'IP6', 'N6'), ('G', 'K', 'IP2', 'N2'), ('L', 'K')]
Но индексы отличаются от кортежей Source к цели, можете ли вы внести некоторые изменения, чтобы получить этот вывод:
Re_Target = [('B', 'A', 'IP5', 'N5'),('G', 'K', 'IP2', 'N2'), ('T', 'W', 'IP6', 'N6'), ('L', 'K')]