Сравнение двух списков, нахождения во втором списке новых элементов

Есть два списка:

lst1 = ['Белое', 'Красное' , 'Синие' , 'Зеленое']

lst2 = ['Белое ', 'Красное' , 'Синие' , 'Зеленое', 'Черное', 'Серое']

Мне надо

  1. При сравнении если во втором списке есть элементы, которых нет в первом - флаг True, если при сравнении во втором списке нет элементов, которых нетв первом списке - флаг False

2.Сравнить два списка и новые элементы из второго списка записать в новый список.

Результат

Флаг True

lst3 = ['Черное', 'Серое']

Если бы сравнивались два таких списка

lst1 = ['Белое', 'Красное' , 'Синие' , 'Зеленое']

lst2 = ['Белое ', 'Красное' , 'Синие' ]

Результат

Флаг False


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

Автор решения: Денис Степанов
lst1 = ['Белое', 'Красное', 'Синие', 'Зеленое']
lst2 = ['Белое', 'Красное', 'Синие', 'Зеленое', 'Черное', 'Серое']

difference = list(set(lst2) - set(lst1))
flag = bool(difference)

print(difference)
print(flag)
lst1 = ['Белое', 'Красное', 'Синие', 'Зеленое']
lst2 = ['Белое', 'Красное', 'Синие', 'Зеленое', 'Черное', 'Серое']

set_from_first = set(lst1)
difference_2 = [x for x in lst2 if x not in set_from_first]

flag = bool(difference_2)

print(difference_2)
print(flag)
→ Ссылка