Удаление дубликатов из Python-списка можно осуществить несколькими способами, каждый из которых имеет разные компромиссы между производительностью и сохранением порядка.
set()unique = list(set(original_list))
dict.fromkeys()unique = list(dict.fromkeys(original_list))
set(), но всё ещё очень эффективноseenseen = set()
unique = []
for item in original_list:
if item not in seen:
seen.add(item)
unique.append(item)
| Метод | Порядок сохранён | Производительность | Гибкость |
|---|---|---|---|
set() | Нет | Самая быстрая | Низкая |
dict.fromkeys() | Да | Быстрая | Низкая |
| Ручной цикл | Да | Средняя | Высокая |
set(), когда порядок не важен и производительность — приоритетdict.fromkeys() как выбор по умолчанию, когда порядок необходимо сохранитьМетод set() — это самый быстрый способ удаления дубликатов из списка Python и поэтому всегда является оптимальным выбором независимо от того, нужно ли сохранять порядок.
Новый — ещё не проверен сообществом
Вы