Курс 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. Функция __init__ в Python
  2. Подсчет элементов в Python
  3. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  4. Получение атрибутов и методов класса
  5. Сравнение def и lambda-функций
  6. Создание итерируемых объектов
  7. Определение имен функций
  8. Лямбда-функции в Python
  9. Генератор чисел Фибоначчи
  10. Переименование файлов в Python
  11. Логирование с Logzero
  12. Печать списка с помощью метода join
  13. Объединение словарей в Python
  14. Преобразование списка в словарь через генератор
  15. Операции с массивами в NumPy
  16. Комплексные числа в Python
  17. Python: Фильтрация списков с помощью filter()
  18. Генераторы данных
  19. Поиск шаблона в начале строки
  20. Блок else в обработке исключений
  21. Удаление дубликатов из списка
  22. Курс по дообучению ChatGPT
  23. Определение размера папок в Python
  24. Профилирование с Pandas
  25. Проблемы с dict в Python
  26. Вставка переменных в шаблоны Flask
  27. F-строки в Python 3.8
  28. Переопределение метода __pow__
  29. Ускорение обработки данных с %autoawait
  30. Отделение звука от видео
  31. Работа с итераторами в Python
  32. Подсчет элементов с помощью Counter из collections
  33. Обработка исключений в Python
  34. Модуль os: работа с файлами и папками
  35. Enum в Python
  36. Аннотации типов в Python
  37. Работа с модулем random
  38. Метод join() с набором
  39. Отладка производительности Python
  40. Операции со строками в Python
  41. Логический оператор «and» в Python
  42. Применение промокода в Много лосося
  43. Очистка данных с помощью pandas
  44. Комментарии в Python.
  45. Рациональные числа в Python
  46. Форматирование даты с strftime()
  47. Работа с библиотекой requests

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