Разница списков. Отличие первого от второго и наоборот. Python
Много ответов на данную тему, но проблема заключается в том что при сравнении списков не учитываются повторяющиеся элементы. Пытался удалить одинаковые элементы, не пойму в чем проблема
def compute_difference(first: list, second: list) -> tuple:
first_second = []
second_first = []
for val in first:
if val in first == val in second:
first, second.remove(val)
elif val not in second:
first_second.append(val)
for val in second:
if val not in first:
second_first.append(val)
print(f'first-second: {first_second}')
print(f'second_first: {second_first}')
return first_second, second_first
compute_difference(['a', 'b', 'c', 'c', 'd'], ['c', 'd', 'e'])
assert ['a', 'b', 'c'], ['e']
на выводе возвращает first-second: ['a', 'b'] second_first: ['e']
Источник: Stack Overflow на русском