Курс 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. Очистка данных с Pandas
  2. Метод ior для битовых операций
  3. Python Enumerate
  4. Транспонирование 2D-массива с помощью zip
  5. Применение команды break
  6. Взаимодействие с sys
  7. Объединение строк с помощью метода join
  8. Обработка ошибок в JSON данных
  9. Итерация по копии коллекции
  10. Копирование объектов в Python
  11. Отладка производительности Python
  12. Работа с комплексными числами
  13. Оператор += для объединения строк
  14. Вызов внешних программ в Python с помощью sh
  15. Принципы программирования
  16. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  17. Дизассемблирование Python кода
  18. Игра Виселица на Python
  19. Абстракции словарей и множеств в Python
  20. Python и Юникод: работа с цифрами
  21. Сортировка и обратный порядок
  22. Добавление вложенных списков
  23. Работа с срезами в Python
  24. Эффективная конкатенация строк в Python
  25. Блок else в обработке исключений
  26. List Comprehension Tutorial
  27. Проблема с изменяемыми аргументами
  28. Подсказки при вводе данных в Python
  29. Аргументы *args и **kwargs
  30. Конвертация текстовых чисел с помощью Numerizer
  31. Создание и инициализация объектов
  32. Официальный канал Python в Telegram
  33. Объединение словарей в Python
  34. Глобальные переменные в Python
  35. Секреты Python
  36. Объединение списков с помощью zip
  37. Встроенные функции Python
  38. Декоратор для группы пользователей в Django
  39. Функция findall() для поиска вхождений строки
  40. Модуль pprint
  41. Копирование объектов в Python
  42. Деление в Python
  43. Сравнение строк в Python
  44. Простой калькулятор Python
  45. Сортировка данных с лямбда-функциями
  46. Colorama: окрашивание текста в Python
  47. Сокращение ссылок с pyshorteners

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