Как убрать дубликаты из списка

Убрать повторы из списка проще всего через множество (set), которое хранит только уникальные значения.

Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Быстрый способ: set()

Превращаем список в множество — повторы исчезают, потому что в множестве каждое значение только одно. Потом при желании возвращаем обратно в список.

nums = [1, 2, 2, 3, 3, 3]
print(list(set(nums)))   # [1, 2, 3]

Если важен порядок

Множество не хранит порядок. Чтобы убрать дубликаты, но сохранить исходную последовательность, используют dict.fromkeys() — он оставляет первое вхождение каждого элемента.

items = ['a', 'b', 'a', 'c', 'b']
print(list(dict.fromkeys(items)))   # ['a', 'b', 'c']

Какой выбрать

Порядок не важен — set() короче и быстрее. Порядок важен (например, список действий) — dict.fromkeys(). Оба способа не меняют исходный список, а создают новый.

Частые вопросы

Почему set меняет порядок? Множество не хранит порядок по своей природе.

Работает ли это со строками? Да, но set вернёт набор уникальных символов.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание

Все обучающие игры «Дрон Кодер»

Одна вселенная — много модулей. Программирование, математика и логика в одной игре: пиши код, считай, решай задачи — а дрон-фермер летит по полю и собирает урожай. В каждом модуле первый уровень бесплатный, без регистрации.

📈 Математика · алгебра и графики
📖 Русский язык