Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: deduplication, order, preserving

Как удалить дубликаты из списка в Python с сохранением порядка элементов?

Вопрос проверяет знание базовых структур данных Python и умение сохранять порядок элементов при дедупликации.

Короткий ответ

Самый простой способ — проходить список и запоминать уже встреченные элементы. Для этого используют вспомогательное множество. Элемент добавляется в результат только если он ещё не встречался. Такой подход сохраняет порядок исходного списка. Он работает за линейное время.

Длинный ответ

Удаление дубликатов с сохранением порядка — частая практическая задача, где важно понимать свойства list и set.

Базовая идея

Перед перечислением важно зафиксировать: порядок сохраняется только при последовательной обработке элементов.

Классический подход

  1. Идём по списку слева направо

  2. Проверяем, встречался ли элемент ранее

  3. Если нет — добавляем в результат

Пример реализации

result = []
seen = set()

for x in items:
    if x not in seen:
        seen.add(x)
        result.append(x)

Альтернативный вариант (Python 3.7+)

result = list(dict.fromkeys(items))

Работает за счёт сохранения порядка ключей в dict.

Ограничения

  1. Элементы должны быть хешируемыми

  2. Для кастомных объектов требуется корректный __hash__

Вывод

Удаление дубликатов с сохранением порядка достигается линейным проходом и дополнительной структурой данных. Это простой и эффективный приём для большинства задач.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • Python

    Python

Ключевые слова

#deduplication

#order

#preserving

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.