Курс 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. Использование defaultdict в Python
  2. Python: цикл for и оператор присваивания
  3. Python: Splat-оператор и splatty-splat
  4. Операции со строками в Python
  5. Метод get для словаря
  6. Преобразование чисел в Python
  7. Получение текущего времени в Python
  8. Разделение функций на этапы
  9. Управление браузером с Selenium
  10. Работа с итераторами через срезы
  11. Работа с YAML в Python: PyYAML.
  12. Установка пакетов с помощью pip
  13. Параллельные вычисления в Python
  14. Хранение переменных в Python.
  15. Поиск кода
  16. Добавление элемента в список.
  17. Объединение словарей в Python
  18. Сортировка с помощью key
  19. Основные операции с библиотекой Numpy
  20. Операторы += в Python
  21. Удаление и повторная вставка ключа в OrderedDict
  22. Работа с zip()
  23. Создание словаря через dict comprehension
  24. Транспонирование 2D-массива с помощью zip
  25. Добавление элементов в список
  26. Работа с срезами в Python
  27. Магические методы в Python
  28. Генераторы в Python
  29. Pretty-printing JSON в Python
  30. Добавление цвета в консоли
  31. Использование функции enumerate()
  32. Подробная информация о %pinfo
  33. Логирование с Logzero
  34. Просмотр файла в Jupyter Noteboo
  35. Заказ карты Тинькофф Black
  36. JMESPath в Python
  37. Генераторы данных
  38. Форматирование строк в Python
  39. f-строки в формате строк
  40. Big O оптимизация
  41. Вакансии в Nebius
  42. Преобразование генераторов в циклы
  43. Оператор умножения для вектора
  44. Создание тестовых данных с Faker
  45. Поток данных в Python
  46. Проверка однородности элементов списка
  47. Распаковка с оператором *
  48. Управление контекстом с помощью декоратора contextmanager
  49. JSON-esque в Python

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