Курс 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. Получение локальных переменных в Python
  2. Работа со словарями
  3. Возврат нескольких значений из функции
  4. Изменяемые и неизменяемые объекты
  5. Функция enumerate в Python
  6. Оператор «or» в Python
  7. f-строки в формате строк
  8. Реализация метода __abs__ в Python
  9. Метод rpow в Python
  10. Тип данных TypeVarTuple
  11. Анонимные функции в Python
  12. Создание вкладок с TKinter
  13. Python 3.12: переиспользование кавычек
  14. Работа с итераторами в Python
  15. Список переменных с %who
  16. Работа с CSV файлами в Python
  17. Установка виртуального окружения Python
  18. Приоритет операций в Python
  19. Множественное назначение в Python
  20. Измерение времени выполнения кода
  21. Counter() — подсчет элементов
  22. Работа с типами данных в Python с помощью pydantic.
  23. Создание списка через цикл
  24. Метод enumerate() в Python
  25. Повторение и перенос строки
  26. Контроль точности вывода чисел
  27. Поиск наиболее частого элемента в списке
  28. Регистрация на хакатоне
  29. Создание списка через итерацию
  30. Декоратор для группы пользователей в Django
  31. Генерация случайных чисел в Python
  32. Тип CodeType в Python.
  33. Оптимизация создания строк
  34. Управление экспортом элементов
  35. Игра «Виселица» на Python
  36. Вложенные генераторы в Python
  37. Работа с эмодзи в Python
  38. TypedDict для kwargs в Python 3.12
  39. Переопределение метода delitem в Python
  40. Big O оптимизация
  41. Быстрый поиск кода
  42. Создание словарей с defaultdict
  43. Структуры данных в Python
  44. Подписка на SelectelNews в Twitter
  45. Python: изменяемые и неизменяемые коллекции

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