Как сделать что бы новый список из новых элементов шел по очередности как встречаются новые элементы

Как сделать что бы новый список из новых элементов шел по очередности как встречаются новые элементы

Вот этот код выводит список новых элементов каждый раз по разному.

Вопрос - почему это происходит,ведь скрипт каждый раз заново запускается. второй вопрос- как это исправить

# сравнение списков
lst1 = ['Белое', 'Красное', 'Зеленое', 'Синие']
lst2 = ['желтое' ,'Красное', 'Синие',  'Серое']

difference = list(set(lst2) - set(lst1)) # сравнивает второй список с первым. Записывает новые элементы из второго списка в новый список.
flag = bool(difference)
print(difference)
print(flag)

После каждого запуска скрипта Выводит то Серое , Желтое , то Желтое , Серое

Надо что бы всегда выводился список в такой очередности как новые элементы стоят в исходном списке

желтое,серое


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

Автор решения: Эникейщик

Сет не имеет порядка, поэтому результаты отличаются. Делайте так:

res = [color for color in lst2 if color not in lst1]
print(res)
→ Ссылка