Имеется два списка
list1 = ['1111', '2222', '3333', '4444']
list2 = ['1111', '4444']
Эти два списка в реальности должны составлять
более чем 10 тысяч значений.
Необходимо найти разницу из этих двух списков и занести в третий.
Сейчас используется следующий
далеко не идеальный подход:
list3 = []
for i in list1:
if i not in list2:
list3.append(i)
При небольших объемах значений в списках этот подход работает вполне терпимо исходя из времени.
Но когда значения подойдут к большому количеству, этот перебор будет занимать
некоторое время.
Как ускорить процесс нахождения разницы в списках?
Посоветовали использовать operator.sub:
>>> A = [3, 4, 6, 7]
>>> B = [1, 3, 6, 3]
>>> list(map(operator.sub, A, B))
[2, 1, 0, 4]
... но как я это понимаю, он делает не совсем то что нужно. А именно, просто вычитает значения, что в моем случае совершенно не подходит. Или, возможно, есть способ его использовать в моем ключе, о котором я еще не догадываюсь.
Буду благодарен за любые советы.