Курс 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. Измерение времени выполнения
  2. Установка Git и AWS CLI
  3. Создание виртуальной среды
  4. Замена текста с re.sub()
  5. Сортировка с помощью key
  6. Преобразование числа в список цифр
  7. Поиск простых чисел
  8. Курсы Яндекс Практикум
  9. Вычисление времени выполнения
  10. Избегание изменяемых аргументов
  11. Изменение списка срезами
  12. Константы в модуле cmath
  13. Управление памятью в Python
  14. Использование эмодзи в Python
  15. Работа с географическими данными в Python
  16. Функция reduce() в Python
  17. Оператор zip в Python
  18. Передача словаря через **kwargs
  19. Решение переменной Шредингера
  20. Очистка данных с помощью pandas
  21. Объединение коллекций в Python
  22. Работа со строками в Python.
  23. Атрибуты массивов в Numpy
  24. Проверка существования переменной с оператором :=
  25. Сортировка данных с лямбда-функциями
  26. Функциональное программирование в Python
  27. Комментарии в Python
  28. Активация Matplotlib в Jupyter
  29. Переопределение метода xor в Python
  30. Перевернуть список в Python
  31. Работа с JSON данными в Python
  32. Удаление элемента из списка
  33. Работа со списками
  34. Парсинг статей с Newspaper3k
  35. Регулярные выражения: метод match
  36. Получение ID процесса
  37. Аннотации типов в Python
  38. Функции min(), max(), sum()
  39. Перевод текста с Python Translator
  40. Модуль itertools: комбинации и перестановки
  41. Итерация по копии коллекции
  42. Запуск асинхронной корутины
  43. Установка и использование Logzero
  44. Переопределение метода __lshift__
  45. Управление контекстом выполнения
  46. Присвоение значений переменным в Python

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