Возможно у Вас было желание найти и удалить повторяющиеся элементы в списке Python. Здесь мы рассмотрим самые лучшие подходы для удаления дубликатов.
Первый и самый лучший способ, это преобразовать список в множество.
Множества представляют собой неупорядоченную структуру данных с уникальными значениями и не допускают копий, список обрабатывается с помощью метода set()
Пример:
listNums = [1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10]
print('Список с дубликатами', listNums)
listNums = list(set(listNums))
print('Список без дублей', listNums)
Результат:
Список с дубликатами [1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10]
Список без дублей[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Второй отличный способ, если Вам важен порядок в списке, то можно воспользоваться модулем collections.
Если Python 3.6 и ниже:
from collections import OrderedDict
listNums = [1, 2, 3, 1, 2, 3, 4, 3, 4, 5, 6, 2, 7, 8, 8, 9, 10]
print('Список', listNums)
listNums = list(OrderedDict.fromkeys(listNums))
print('Список без дублей', listNums)
Или же, если у вас Python 3.7 и выше, можно воспользоваться встроенным методом: dict.fromkeys()
listNums = [1, 2, 3, 1, 2, 3, 4, 3, 4, 5, 6, 2, 7, 8, 8, 9, 10]
print('Список', listNums)
listNums = list(dict.fromkeys(listNums))
print('Список без дублей', listNums)
Результат в обоих случаях:
Список [1, 2, 3, 1, 2, 3, 4, 3, 4, 5, 6, 2, 7, 8, 8, 9, 10]
Список без дублей [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]