Sobes.tech
Назад к вопросам
Junior — Middle
65

Каким образом можно удалить дублирующиеся элементы из коллекции списка?

Ответ от нейросети

sobes.tech AI

Чтобы удалить дублирующиеся элементы из списка в Python, можно использовать несколько способов:

  1. Преобразовать список во множество (set), так как множества не содержат дубликатов, а затем обратно в список:
lst = [1, 2, 2, 3, 4, 4, 5]
lst_unique = list(set(lst))
print(lst_unique)  # Порядок элементов может измениться
  1. Если важен порядок элементов, можно использовать цикл с проверкой или использовать dict.fromkeys(), который сохраняет порядок начиная с Python 3.7:
lst = [1, 2, 2, 3, 4, 4, 5]
lst_unique = list(dict.fromkeys(lst))
print(lst_unique)  # [1, 2, 3, 4, 5]
  1. Использовать генератор с вспомогательным множеством для отслеживания уже встреченных элементов:
lst = [1, 2, 2, 3, 4, 4, 5]
seen = set()
lst_unique = [x for x in lst if not (x in seen or seen.add(x))]
print(lst_unique)  # [1, 2, 3, 4, 5]

Все эти методы позволяют эффективно удалить дубликаты из списка.