Проверка на нахождение значений из одного списка в другом

У меня есть следующие списки:

mass_1 = [[7], [4, 5], [13], [11], [1], [6], [2, 4, 11], [12], [3], [6, 10], [4], [0], [8], [9]]
mass_2 = [[4], [5], [2], [4], [11], [6], [10]]

так вот моя задача проверить, если в списке один есть одинарный список с значением из списка два, то это значение нужно вычеркнуть из списка 2 все значения. Т.е. если есть значение 4 в первом и во втором, то из второго нужно вычеркнуть все четвёрки.

Поправка: Список mass_2 можно представить как монолитный список с данными значениями.


Ответы (3 шт):

Автор решения: nomnoms12
mass_1 = [[7], [4, 5], [13], [11], [1], [6], [2, 4, 11], [12], [3], [6, 10], [4], [0], [8], [9]]
mass_2 = [[4], [5], [2], [4], [11], [6], [10]]

for li in mass_1:
    if len(li) == 1:
        mass_2 = [x for x in mass_2 if x != li]

print(mass_2)  # [[5], [2], [10]]
→ Ссылка
Автор решения: Danis
mass_1 = [[7], [4, 5], [13], [11], [1], [6], [2, 4, 11], [12], [3], [6, 10], [4], [0], [8], [9]]
mass_2 = [[4], [5], [2], [4], [11], [6], [10]]

for el in mass_1:
    while el in mass_2:
        mass_2.remove(el)

print(mass_2)
→ Ссылка
Автор решения: TigerTV.ru

Просто используем filter:

mass_1 = [[7], [4, 5], [13], [11], [1], [6], [2, 4, 11], [12], [3], [6, 10], [4], [0], [8], [9]]
mass_2 = [[4], [5], [2], [4], [11], [6], [10]]

mass_2 = list(filter(lambda x: x not in mass_1, mass_2))
print(mass_2)
→ Ссылка