Удаление дубликатов из списка

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

Что нужно знать

Перед изучением примера полезно понимать:

Пример 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]

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

  • Оба списка превращаются в множества — это убирает дубликаты внутри каждого.

  • Оператор ^ вычисляет симметрическую разность двух множеств, то есть оставляет только те элементы, которые входят ровно в одно из множеств.