Back to questions
Junior — Middle
66
Каким образом можно удалить дублирующиеся элементы из коллекции списка?
Answer from AI
sobes.tech AI
Чтобы удалить дублирующиеся элементы из списка в Python, можно использовать несколько способов:
- Преобразовать список во множество (set), так как множества не содержат дубликатов, а затем обратно в список:
lst = [1, 2, 2, 3, 4, 4, 5]
lst_unique = list(set(lst))
print(lst_unique) # Порядок элементов может измениться
- Если важен порядок элементов, можно использовать цикл с проверкой или использовать
dict.fromkeys(), который сохраняет порядок начиная с Python 3.7:
lst = [1, 2, 2, 3, 4, 4, 5]
lst_unique = list(dict.fromkeys(lst))
print(lst_unique) # [1, 2, 3, 4, 5]
- Использовать генератор с вспомогательным множеством для отслеживания уже встреченных элементов:
lst = [1, 2, 2, 3, 4, 4, 5]
seen = set()
lst_unique = [x for x in lst if not (x in seen or seen.add(x))]
print(lst_unique) # [1, 2, 3, 4, 5]
Все эти методы позволяют эффективно удалить дубликаты из списка.