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

Опубликован: 21.07.2024 40

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

В Python существуют различные способы решения данной задачи, но наиболее простыми и эффективными вариантами являются удаление дубликатов из списка:

  • методом set();
  • методом dict.fromkeys().

Удаление дубликатов из списка с помощью функции set().

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

# исходный список
nums = [1, 3, 4, 1, 2, 3, 6, 7, 2, 4, 8, 9]

# использование set() для удаления дубликатов из списка
res = list(set(nums))
print(res)
[1, 2, 3, 4, 6, 7, 8, 9]

Удаление дубликатов из списка методом dict.fromkeys().

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

# исходный список
nums = [1, 3, 4, 1, 2, 3, 6, 7, 2, 4, 8, 9]

# использование dict.fromkeys() для удаления дубликатов из списка
res = list(dict.fromkeys(nums))
print(res)
[1, 3, 4, 2, 6, 7, 8, 9]

Похожие посты

Методы преобразования списка в строку и обратно

Подсчет количества вложенных списков в списке

Поэлементное суммирование списков (кортежей)

Преобразование строки числовых значений в список чисел

Комментариев нет.