Удаление дубликатов из списка Python

каталога в Python Программирование и разработка

Структура данных списка довольно популярна среди программистов и пользователей Python. Иногда пользователи сталкиваются с повторяющимися значениями в списке и не могут их удалить. Если да, то это руководство предназначено для вас. В этом руководстве мы обсудим несколько методов удаления повторяющихся значений из структуры данных списка. Давайте посмотрим по-новому.

Метод 1: Naïve

Начните с открытия оболочки терминала с помощью «Ctrl + Alt + T». Создайте новый файл Python с инструкцией «touch». Файл «dup.py» будет открыт с помощью команды редактора «GNU Nano»:

touch dup.py

$ Nano dup.py

После открытия файла в редакторе Nano добавьте поддержку Python в его начало. Список целочисленных типов инициализирован, и некоторые его значения повторяются. Оператор печати отображает список путем преобразования его значения в строковый тип. Еще один пустой список, «Arr», был инициализирован. Цикл «for» будет использоваться для того, чтобы просто поместить первое вхождение значения списка и добавить его в новый список «Arr» с помощью функции «append». Вновь составленный список будет распечатан:

    #! /usr/bin/python3

List = [1, 4, 6, 7, 10, 2, 1, 4, 3]

Arr = []

For i in List

If I not in Arr :

Arr.append()

Print(“ The list after update: “ + str(Arr))

После запуска файла Python на терминале отобразился исходный список и новый список без дубликатов:

python3 dup.py

Метод 2: понимание списка

Метод понимания списка очень похож на наивный метод. Единственное изменение — это позиция использования в нем метода добавления, цикла «for» и оператора «if». Откройте тот же файл «dup.py», чтобы обновить его код. Метод понимания списка показан как сочетание цикла for и оператора if с функцией append (). В остальном код такой же:

    #! /usr/bin/python3

List = [1, 4, 6, 7, 10, 2, 1, 4, 3]

Print(“ The list before update: “ + str(List))

Arr = []

[Arr.append() for i in List if i not in Arr ]:

Print(“ The list after update: “ + str(Arr))

После выполнения файла Python мы получили ожидаемый результат, то есть исходный список и обновили новый список:

python3 dup.py

Метод 3: перечисление с пониманием списка

Вы можете использовать функцию перечисления в понимании списка, чтобы избежать дублирования в списке. Просто откройте файл «dup.py» и добавьте метод перечисления в строку понимания списка между циклами «for». И старый список, и обновленный список без дубликатов будут отображаться в оболочке с использованием оператора print в коде:

    #! /usr/bin/python3

List = [“L”, “I”, “n”, “u”, “x”, “L”, “n”]

Print(“ The list before update: “ + str(List))

Arr = [for n, I in enumerate(List) if I not in List[:n]]

Print(“ The list after update: “ + str(Arr))

Файл был выполнен, и в результате сначала был отображен исходный список, а затем обновленный новый список, не имеющий повторяющихся значений. Функция enumerate также упорядочила список:

python3 dup.py

Пример 4: Функция Set ()

Известно, что функция set () удаляет дубликаты из списка. Он удаляет дубликаты, но самостоятельно меняет порядок списка. Итак, открываем файл dup.py и добавляем инициализацию списка. Исходный список распечатан. Затем мы использовали метод «set ()» в «List», чтобы удалить дубликаты и снова преобразовать оставшиеся в список. Результирующий список обновлен и снова отображается в оболочке:

    #! /usr/bin/python3

List = [“L”, “I”, “n”, “u”, “x”, “L”, “n”]

Print(“ The list before update: “ + str(List))

List = list(set(List))

Print(“ The list after update: “ + str(List))

После запуска файла Python отображается исходный список, а затем обновленный.

python3 dup.py

Метод 5: Collections.OrderedDict

Для этой цели также можно использовать коллекции модулей. Просто импортируйте пакет OrderedDict из библиотеки «collections». Инициализируйте список и распечатайте его. Новая переменная «Arr» используется для получения списка, созданного методом «Ordered.Dict.fromkeys ()», и обхода исходного списка в нем. Будет отображена вновь созданная переменная списка:

    #! /usr/bin/python3

From collections import OrderedDict

List = [“L”, “I”, “n”, “u”, “x”, “L”, “n”]

Print(“ The list before update: “ + str(List))

Arr = list(OrderedDict.fromkeys(List))

Print(“ The list after update: “ + str(Arr))

Выполнение показывает ожидаемый результат. Первый список является исходным, а второй — обновленным списком без дубликатов:

python3 dup.py

Заключение

В этой статье представлены несколько методов удаления дубликатов из списка, например, понимание списка, функции set (), перечисление, импорт пакета collections.OrderedDict. Мы надеемся, что это руководство поможет вам в лучшем виде, и, пожалуйста, ознакомьтесь с Linux Hint для получения более информативных статей.

Оцените статью
bestprogrammer.ru
Добавить комментарий