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

Fortron

Новичок
Пользователь
Май 3, 2020
44
2
8
Как сделать что бы новый список из новых элементов шел по очередности как встречаются новые элементы
Вот этот код выводит список новых элементов каждый раз по разному.
Вопрос - почему это происходит,ведь скрипт каждый раз заново запускается. второй вопрос- как это исправить

Код:
# сравнение списков

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

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


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

flag = bool(difference)

print(difference)

print(flag)

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

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

Код:
желтое, серое
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
По разному выводит потому, что в коде используется set() - а это неупорядоченный набор.
Вот пример без использования set():
Python:
lst1 = ['Белое', 'Красное', 'Зеленое', 'Синие']
lst2 = ['желтое' ,'Красное', 'Синие',  'Серое']

difference = [i for i in lst2 if i not in lst1]
print(difference)
 
  • Мне нравится
Реакции: Fortron

Форум IT Специалистов