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

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

Убрать повторы из списка проще всего через множество (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

Задание