Удаление дубликатов из списка Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Руководства «Python»
Комментариев: 0

Возможно у Вас было желание найти и удалить повторяющиеся элементы в списке 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]
Теги записи: Python, Основы Python, Список, Дубли,
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)