Курс 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. Перемешивание списка с shuffle()
  2. Библиотека Chartify: руководство
  3. Вычисление натурального логарифма в NumPy
  4. Python Enum Weekday Usage
  5. Сравнение строк в Python
  6. kwargs в Python
  7. Генераторные выражения и islice.
  8. Распаковка аргументов в Python
  9. Резервирование символов в Python
  10. Преобразование документов в PDF с помощью Spire.Office
  11. Статическая типизация в Python
  12. Переменные класса и экземпляра
  13. Работа с процессами в Python
  14. Работа с argparse
  15. Функция sleep() в Python
  16. Модуль os: работа с файлами и папками
  17. Основы работы со списками
  18. Создание генераторов
  19. Импорт модулей в Python 3.12
  20. Работа с комплексными числами
  21. Оператор continue в Python
  22. Нарезка списков в Python
  23. Удаление специальных символов
  24. Реализация метода __abs__ в Python
  25. Избегайте изменяемых аргументов
  26. Работа с SQLite в Python
  27. Модуль pprint: улучшение вывода данных
  28. Поиск всех индексов подстроки
  29. Проблемы с именами переменных
  30. Получение пути к текущему скрипту с помощью os
  31. Python Метод sleep() времени
  32. Получение текущего времени в Python
  33. Каналы Senior: Python, Java, Frontend, SQL, C++
  34. Python Менеджер контекста
  35. Создание детектора плагиата
  36. Транспонирование 2D-массива с помощью zip
  37. Официальный канал Python в Telegram
  38. Декораторы в Python
  39. Генератор списка с условием if
  40. Транспонирование матрицы
  41. Создание и удаление объектов
  42. JSON в Python: модуль, dump, dumps, load
  43. Изучение объектов с помощью dir()
  44. Мощь вложенных функций в Python
  45. Ключевое слово global в Python
  46. Python: изменяемые и неизменяемые коллекции
  47. Работа с файловой системой в Python

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