Удаление дубликатов из списка
В этом примере посмотрим, как убрать повторяющиеся элементы из списка на Python. Самый простой способ — превратить список в множество, потому что множество по определению не содержит дубликатов.
Что нужно знать
Перед изучением примера полезно понимать:
Множества (Set) в Python — множества
Python: список (list) — списки
Пример 1. Через set()
list_1 = [1, 2, 1, 4, 6]
print(list(set(list_1)))
Вывод
[1, 2, 4, 6]
В этом примере мы сначала преобразуем список в множество, а затем обратно в список. Множество не может содержать одинаковых элементов, поэтому set() оставляет только по одному экземпляру каждого значения.
Пример 2. Удалить элементы, встречающиеся в обоих списках
list_1 = [1, 2, 1, 4, 6]
list_2 = [7, 8, 2, 1]
print(list(set(list_1) ^ set(list_2)))
Вывод
[4, 6, 7, 8]
В этом примере удаляются те значения, которые есть и в первом, и во втором списке.
Оба списка превращаются в множества — это убирает дубликаты внутри каждого.
Оператор
^вычисляет симметрическую разность двух множеств, то есть оставляет только те элементы, которые входят ровно в одно из множеств.