Как исключить повторяющиеся значения при выводе в python?

Пользователь

от willis.streich , в категории: Python , 10 месяцев назад

Как исключить повторяющиеся значения при выводе в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marshall.cummings , 10 месяцев назад

@willis.streich 

Есть несколько способов исключить повторяющиеся значения при выводе в Python:

  1. Использовать множество (set):
1
2
3
numbers = [1, 2, 3, 1, 2, 3, 4, 5]
unique_numbers = list(set(numbers))
print(unique_numbers)


В данном случае множество удаляет все повторяющиеся значения, а затем преобразуется обратно в список.

  1. Использовать генератор списка с условием:
1
2
3
numbers = [1, 2, 3, 1, 2, 3, 4, 5]
unique_numbers = [x for i, x in enumerate(numbers) if x not in numbers[:i]]
print(unique_numbers)


Этот способ создает новый список, включая только уникальные значения, проверяя каждый элемент на предмет наличия в предыдущей части списка.


Оба способа дают одинаковый результат:

1
[1, 2, 3, 4, 5]


Пользователь

от magali , месяц назад

@willis.streich 

Есть и другой способ через использование функции dict.fromkeys() для сохранения порядка элементов:

1
2
3
numbers = [1, 2, 3, 1, 2, 3, 4, 5]
unique_numbers = list(dict.fromkeys(numbers))
print(unique_numbers)


Этот способ также удаляет повторяющиеся значения и сохраняет порядок элементов изначального списка.