Проверка двух списков списков на равенство и возврат списков, которых нет в другом списке [дубликаты]

У меня есть 2 списка, list1, который содержит списки, и list2, который также содержит списки. Мне нужно получить списки из list2, которые не соответствуют ни одному из списков в list1. Вот пример того, с чем я работаю.

list1 = [['4111', '', '', 'Subscription', 'February', '2019', '$300.00', 
'[email protected]'], ['2540', '', '', 'Subscription', 'February', '2019', 
'$300.00', '[email protected]']]

list2 = [['4111', '', '', 'Subscription', 'February', '2019', '$300.00', 
'[email protected]'], ['2541', '', '', 'Subscription', 'February', 
'2019', '$300.00', '[email protected]']]

после сравнения двух списков ожидаемый доход должен быть

['2541', '', '', 'Subscription', 'February', '2019', '$300.00', '[email protected]']

person Hugo Iriarte    schedule 04.02.2019    source источник
comment
Ожидаемый возврат находится в списке2, а не в списке1...   -  person Dani Mesejo    schedule 04.02.2019
comment
['4111', '', '', 'Subscription', 'February', '2019', '$300.00', '[email protected]'] нет в list1.   -  person juanpa.arrivillaga    schedule 04.02.2019
comment
@ juanpa.arrivillaga Я не думаю, что это точная копия, элементы в связанной копии можно хэшировать, в этом вопросе - нет.   -  person Dani Mesejo    schedule 04.02.2019
comment
@DanielMesejo это не кажется мне достаточно большой разницей.   -  person juanpa.arrivillaga    schedule 04.02.2019
comment
в конечном счете, все они являются строками, поэтому применяются одни и те же принципы, этот вопрос задавался 1000 раз по сравнению с простым поиском в Google, который даст множество вариантов с множеством разных решений.   -  person gold_cy    schedule 04.02.2019
comment
@ChrisLarson, это алгоритм квадратичной временной сложности. Для этого следует использовать наборы.   -  person juanpa.arrivillaga    schedule 04.02.2019
comment
Для справки, приведенный дубликат не является хорошим примером лучшего ответа, хотя есть и другие дубликаты с лучшими ответами. Принятый ответ на процитированный вопрос нелеп, требует numpy. Вам нужно прокрутить 4-й ответ для простейшего подхода: stackoverflow.com/a/41125957/214150   -  person Chris Larson    schedule 04.02.2019
comment
Извините, ребята, я должен был немного подумать, прежде чем задавать вопросы. a = [x вместо x в списке2, если x не в списке1] выполнил задание.   -  person Hugo Iriarte    schedule 04.02.2019
comment
@ChrisLarson, 4-й ответ излишне неэффективен, это квадратичная временная сложность. Но я согласен, что принятый numpy ответ не очень полезен   -  person juanpa.arrivillaga    schedule 04.02.2019
comment
@juanpa.arrivillaga Если бы автор вопроса указал на проблемы с производительностью, я бы согласился. Мой ответ нацелен на базовую функциональность и удобочитаемость для относительных новичков. Но да, есть более эффективные подходы. Учитывая процитированный дубликат, производительность здесь кажется устаревшей. :)   -  person Chris Larson    schedule 04.02.2019