Курс 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. Преобразование типов данных в set comprehension
  2. JMESPath в Python
  3. Цикл for в Python
  4. Сортировка данных с лямбда-функциями
  5. Работа с IP-адресами в Python
  6. Оптимизация методов в Python 3.7
  7. Подписка на Kaspersky Team
  8. Обратное распространение ошибки
  9. Подробная информация о %pinfo
  10. Конкатенация строк с join() в Python
  11. Работа с PosixPath() в Python
  12. Расширение информации об ошибке в Python
  13. Создание итерируемых объектов
  14. Работа с Path в Python
  15. OrderedDict — упорядоченный словарь
  16. Создание треугольника Паскаля
  17. Отношения подклассов в Python
  18. Циклы в Python
  19. Подписка на SelectelNews в Twitter
  20. Список методов и атрибутов
  21. Метод enumerate() в Python
  22. Работа с аргументами командной строки
  23. Декораторы в Python
  24. Метод radd для пользовательских чисел
  25. Возврат нескольких значений
  26. Атрибуты объекта в Python
  27. Работа с *args и **kwargs в Python
  28. Ключевое слово global в Python
  29. Анонимные функции Lambda
  30. Методы работы со строками в Python
  31. Работа с датами в Python
  32. Поиск наиболее частого элемента
  33. Удаление эмодзи с помощью pandas
  34. Работа с файлами в Python
  35. Форматирование объектов с модулем pprint
  36. Метод Enumerate() для списков
  37. Модуль subprocess: запуск внешних команд
  38. CSV строка разделение в Python
  39. Удаление элементов из списка
  40. Проблема сравнения словарей
  41. Дефолтные параметры в Python
  42. Отправка HTTP-запросов с User-Agent
  43. Логирование с Loguru
  44. Упрощенный вывод данных в Python
  45. Python Поверхностное Копирование
  46. Создание OrderedDict
  47. Пропуск строк в файле с itertools
  48. ChainMap избыточные ключи

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