Курс Python → Удаление дубликатов из списка с помощью dict.fromkeys

Удаление дубликатов из списка — распространённая задача в программировании, и Python предоставляет несколько элегантных способов её решения. Важно не только убрать повторяющиеся элементы, но и сохранить порядок их появления. Обычно новички используют циклы для перебора элементов и создания нового списка, но в Python существует более лаконичный и эффективный способ. Один из таких методов — использование функции dict.fromkeys().

Функция dict.fromkeys() позволяет создать словарь, где ключами станут уникальные элементы исходного списка. Поскольку словари в Python 3.7 и выше сохраняют порядок добавления элементов, это делает их идеальным инструментом для решения нашей задачи. С помощью этой функции мы можем удалить дубликаты из списка всего за одну строку кода. Например, если у нас есть список list1 = [1, 2, 2, 3, 4, 4, 5], мы можем легко получить новый список без дубликатов, выполнив следующий код:

list1 = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(list1))
print(unique_list)  # Вывод: [1, 2, 3, 4, 5]

В приведённом выше примере мы сначала создаём словарь из списка list1, который автоматически удаляет дубликаты. Затем, преобразуя его обратно в список, мы получаем unique_list, содержащий только уникальные элементы в том порядке, в котором они изначально встречались. Это решение не только компактно, но и быстро, так как словари в Python реализованы с использованием хэш-таблиц, что обеспечивает высокую производительность при добавлении и проверке на наличие элементов.

Таким образом, использование dict.fromkeys() — это не только удобный, но и эффективный способ удаления дубликатов из списка. Этот метод позволяет избежать лишних циклов и временных затрат, что особенно важно при работе с большими объёмами данных. Также стоит отметить, что данный подход является удобным и понятным, что делает его отличным выбором для разработчиков любого уровня, от новичков до опытных программистов.

В заключение, если вам нужно удалить дубликаты из списка, сохранив порядок, просто используйте list(dict.fromkeys(list1)). Это простое и элегантное решение, которое позволит вам сэкономить время и сделать ваш код более чистым и читаемым. Попробуйте использовать этот метод в своих проектах, и вы убедитесь, насколько он удобен!

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Метод __ixor__ для побитового исключающего ИЛИ
  2. Печать комбинаций в Python с Itertools
  3. Модуль pprint: улучшение вывода данных
  4. Работа с контекстными переменными
  5. Работа с argparse
  6. Автоматизация скриптов на AWS Lightsail.
  7. Функция enumerate в Python
  8. Гибкие функции Python
  9. Оператор in в Python
  10. Генератор списка с условием if
  11. Ввод нескольких значений
  12. Объединение строк с помощью метода join
  13. Логирование с Logzero
  14. Генераторы в Python
  15. Фильтрация последовательности
  16. Разделение строки на пары ключ-значение.
  17. Логические значения в Python
  18. Присоединение элементов коллекции
  19. Декораторы в Python
  20. Метод add для класса Vector
  21. Получение списка файлов в директории с использованием os
  22. Документация функции help() в Python
  23. Метод join() для объединения элементов строки
  24. Numpy: разбиение массивов
  25. Удаление элемента из списка
  26. Оператор space-invader
  27. Расширение операции побитового «и» в Python
  28. Функция sleep() в Python
  29. Профилирование с Pandas
  30. Генераторы словарей и множеств
  31. Создание комплексных чисел
  32. Работа с файловой системой в Python
  33. Синхронизация доступа к ресурсам
  34. Разделение строки с помощью split()
  35. Конвертация коллекций в Python
  36. Работа с коллекциями Python
  37. Итерация по итерируемым объектам
  38. Управление асинхронными задачами на Python.
  39. discard() — удаление элемента из множества
  40. Конструктор в Python
  41. Ускорение кода с помощью векторизации
  42. Визуализация пропусков данных
  43. Создание итерируемых объектов
  44. Использование super() в Python
  45. Оператор is в Python

Marketello читают маркетологи из крутых компаний