Курс 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. Операторы += в Python
  2. Работа с collections в Python
  3. Оператор «not» в Python
  4. Реализация метода __abs__ в Python
  5. Работа с утверждениями в Python
  6. Работа с GitHub в Telegram
  7. Запрос пароля с помощью getpass
  8. Метод bool() в Python
  9. Создание словарей в Python
  10. Создание словарей и множеств в Python
  11. Избегайте ошибку FileNotFoundError
  12. Счетчик в Python: most_common()
  13. Работа с f-строками 2.0
  14. Отображение HTML кода в Python
  15. Библиотека Rich: форматирование текста
  16. Декораторы в Python
  17. Форматирование строк с % в Python
  18. Измерение времени выполнения кода
  19. Форматирование строк в Python
  20. Python: изменяемые и неизменяемые коллекции
  21. Нахождение отличий в списках
  22. Удаление элементов из списка в Python.
  23. Генерация случайных чисел в Python
  24. Профилирование кода на Python
  25. Функции any() и all() в Python
  26. Роль ключевого слова self
  27. Взаимодействие с sys
  28. Выражения-генераторы в Python
  29. Сравнение строк в Python
  30. Работа с SQLite в Python
  31. Пространство имен в Python
  32. Проверка наличия элемента в списке
  33. Метод gt в Python
  34. Оптимизация методов в Python 3.7
  35. Работа с Enum в Python3.
  36. Удаление символа из строки
  37. globals и locals
  38. Создание спинбокса в tkinter
  39. Поток данных в Python
  40. Инвертирование словаря
  41. Форматирование строк в Python
  42. Избегание изменяемых аргументов
  43. GitHub в Telegram: подписка на уведомления
  44. Отправка HTTP-запросов в Python
  45. Переменная с нижним подчеркиванием
  46. Измерение времени выполнения кода
  47. Игра «Камень, ножницы, бумага» — Python
  48. Работа с CSV файлами в Python

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