Курс Python → Удаление дубликатов с сохранением порядка с помощью dict.fromkeys

Удаление дубликатов из списка — распространённая задача в программировании, особенно когда важно сохранить порядок элементов. В Python для решения этой задачи можно использовать несколько подходов, однако одним из наиболее элегантных и эффективных является использование метода dict.fromkeys(). Этот метод позволяет создать словарь, где ключами станут уникальные элементы исходного списка, а порядок их появления будет сохранён.

Для начала, рассмотрим, как работает этот метод. Когда вы вызываете dict.fromkeys(list1), Python проходит по всем элементам списка list1 и добавляет их в словарь в порядке появления. Поскольку словари в Python 3.7 и выше сохраняют порядок добавления элементов, вы можете быть уверены, что уникальные значения будут находиться на тех же позициях, что и в исходном списке. Затем, преобразовав этот словарь обратно в список, вы получите желаемый результат — список без дубликатов, но с сохранением порядка.

Вот пример кода, который демонстрирует этот подход:

list1 = [1, 2, 3, 2, 1, 4, 5, 3]
unique_list = list(dict.fromkeys(list1))
print(unique_list)  # Вывод: [1, 2, 3, 4, 5]

Как видно из примера, использование dict.fromkeys() позволяет удалить дубликаты всего за одну строку кода. Это делает код не только компактным, но и легко читаемым. Такой подход особенно полезен, когда вы работаете с большими списками, так как он работает быстро и эффективно, что может существенно сэкономить время при обработке данных.

В заключение, метод dict.fromkeys() является одним из лучших решений для удаления дубликатов из списка в Python. Он не только позволяет быстро и просто достичь желаемого результата, но и сохраняет порядок элементов. Этот метод подходит для различных типов данных, включая числа, строки и даже сложные объекты, что делает его универсальным инструментом для разработчиков.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Поиск самого частого элемента
  2. Вложенные циклы в Python
  3. Логирование с Loguru
  4. Работа с zip()
  5. Структура данных deque в Python
  6. Руководство по Pymorphy2
  7. Использование подчеркивания в REPL
  8. Concrete Paths в Python
  9. Сортировка в Python
  10. Отладка кода
  11. Progress с библиотекой tqdm
  12. Форматирование даты с strftime()
  13. Добавление элемента к кортежу
  14. Замена текста с помощью sub
  15. Функция format() в Python
  16. Измерение времени выполнения кода с использованием time
  17. Оператор del в Python
  18. Конкатенация строк в Python
  19. Python и Юникод: работа с цифрами
  20. Генераторы данных
  21. Блок try…finally в Python
  22. Фильтрация списка от «ложных» значений
  23. Построение графиков в терминале с bashplotlib
  24. Переопределение оператора % для объектов
  25. Работа с кортежами в Python
  26. Математические функции в Python
  27. Преобразование в float
  28. Поиск email
  29. Запуск Python из интерпретатора
  30. Flask — веб-фреймворк Python
  31. Роль запятой в Python
  32. Определение объема памяти объекта
  33. Проверка существования переменной с оператором :=
  34. UserList в Python: Описание и примеры использования
  35. Работа с базами данных SQLite
  36. Многоточие в Python
  37. Работа с комплексными числами
  38. Сортировка и разворот списка
  39. Поиск всех индексов подстроки
  40. Работа со строками в Python
  41. Enum в Python
  42. Многопоточность и асинхронное программирование в Python
  43. Использование функции enumerate()
  44. Печать месячного календаря
  45. Нахождение отличий в списках
  46. Создание класса в Python
  47. Метод gt в Python
  48. Методы Python для работы с данными

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