Список - это контейнер, содержащий различные объекты Python, которые могут быть целыми числами, словами, значениями и т. Д. Это эквивалент массива в других языках программирования.
Итак, здесь мы рассмотрим различные способы удаления дубликатов из данного списка.
В этом руководстве вы узнаете:
- Удалите дубликаты из списка с помощью Set
- Удалите дубликаты из списка с помощью временного списка.
- Удалите дубликаты из списка с помощью Dict
- Удалите дубликаты из списка с помощью цикла for
- Удалите дубликаты из списка, используя понимание списка
- Удалите дубликаты из списка с помощью метода Numpy unique ().
- Удалите дубликаты из списка с помощью методов Pandas
- Удалите дубликаты с помощью enumerate () и понимания списка
Удалите дубликаты из списка с помощью Set
Чтобы удалить дубликаты из списка, вы можете использовать встроенную функцию set (). Особенность метода set () заключается в том, что он возвращает отдельные элементы.У нас есть список: [1,1,2,3,2,2,4,5,6,2,1]. В списке много дубликатов, которые нам нужно удалить и вернуть только отдельные элементы. Список передается встроенной функции set (). Позже окончательный список отображается с помощью встроенной функции list (), как показано в примере ниже.
В результате мы получаем отдельные элементы, из которых удалены все повторяющиеся элементы.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Выход:
[1, 2, 3, 4, 5, 6]
Удаление дубликатов из списка с помощью временного списка
Чтобы удалить дубликаты из данного списка, вы можете использовать пустой временный список. Для этого сначала вам нужно будет пройтись по списку, имеющему дубликаты, и добавить уникальные элементы во временный список. Позже временный список присваивается основному списку.
Вот рабочий пример с использованием временного списка.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]print("List Before ", my_list)temp_list = []for i in my_list:if i not in temp_list:temp_list.append(i)my_list = temp_listprint("List After removing duplicates ", my_list)
Выход:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Удалите дубликаты из списка с помощью Dict
Мы можем удалить дубликаты из данного списка, импортировав OrderedDict из коллекций. Он доступен начиная с python2.7. OrderedDict заботится о том, чтобы вернуть вам отдельные элементы в том порядке, в котором присутствует ключ.
Давайте воспользуемся списком и воспользуемся методом fromkeys (), доступным в OrderedDict, для получения уникальных элементов из списка.
Чтобы использовать метод OrderedDict.fromkey (), вам необходимо импортировать OrderedDict из коллекций, как показано ниже:
from collections import OrderedDict
Вот пример удаления дубликатов с помощью метода OrderedDict.fromkeys ().
from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))
Выход:
['a', 'x', 'y', 'b', 'c']
Начиная с Python 3.5+, мы можем использовать обычный dict.fromkeys () для получения отдельных элементов из списка. Методы dict.fromkeys () возвращают уникальные ключи и помогают избавиться от повторяющихся значений.
Пример, показывающий работу dict.fromkeys () в списке для выдачи уникальных элементов, выглядит следующим образом:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Выход:
['a', 'x', 'y', 'b', 'c']
Удалите дубликаты из списка с помощью цикла for
Используя цикл for, мы пройдемся по списку элементов, чтобы удалить дубликаты.
Сначала инициализируйте массив пустым, т.е. myFinallist = []. Внутри цикла for добавьте проверку, существуют ли элементы в списке в массиве myFinallist. Если элементы не существуют, добавьте элемент в массив myFinallist с помощью append () метод.
Таким образом, всякий раз, когда встречается повторяющийся элемент, он уже будет присутствовать в массиве myFinallist и не будет вставлен. Давайте теперь проверим то же самое в примере ниже:
my_list = [1,2,2,3,1,4,5,1,2,6]myFinallist = []for i in my_list:if i not in myFinallist:myFinallist.append(i)print(list(myFinallist))
Выход:
[1, 2, 3, 4, 5, 6]
Удалите дубликаты из списка, используя понимание списка
Компоненты списков - это функции Python, которые используются для создания новых последовательностей (таких как списки, словари и т. Д.) С использованием уже созданных последовательностей. Это поможет вам сократить количество длинных циклов и упростить чтение и сопровождение кода.
Давайте воспользуемся пониманием списка, чтобы удалить дубликаты из данного списка.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [][my_finallist.append(n) for n in my_list if n not in my_finallist]print(my_finallist)
Выход:
[1, 2, 3, 4, 5, 6]
Удалите дубликаты из списка с помощью метода Numpy unique ().
Метод unique () из модуля Numpy может помочь нам удалить дубликаты из приведенного списка.
Чтобы работать с модулем Numpy first import numpy, вам необходимо выполнить следующие действия:
Шаг 1 ) Импортируйте модуль Numpy
import numpy as np
Шаг 2) Используйте свой список с дубликатами внутри уникального метода, как показано ниже. Вывод преобразуется обратно в формат списка с помощью метода tolist ().
myFinalList = np.unique(my_list).tolist()
Шаг 3) Наконец, распечатайте список, как показано ниже:
print(myFinalList)
Окончательный код с выводом выглядит следующим образом:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Выход:
[1, 2, 3, 4, 5, 6]
Удалите дубликаты из списка с помощью методов Pandas
Модуль Pandas имеет метод unique (), который предоставит нам уникальные элементы из данного списка.
Для работы с модулем Pandas вам необходимо выполнить следующие действия:
Шаг 1) Импортируйте модуль Pandas
import pandas as pd
Шаг 2) Используйте свой список с дубликатами внутри метода unique (), как показано ниже:
myFinalList = pd.unique(my_list).tolist()
Шаг 3) Распечатайте список, как показано ниже:
print(myFinalList)
Окончательный код с выводом выглядит следующим образом:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Выход:
[1, 2, 3, 4, 5, 6]
Удалите дубликаты с помощью enumerate () и понимания списка
Здесь комбинация понимания списка и перечисления для удаления повторяющихся элементов. Enumerate возвращает объект со счетчиком для каждого элемента в списке. Например (0,1), (1,2) и т. Д. Здесь первое значение - это индекс, а второе значение - это элемент списка. W
Каждый элемент проверяется, существует ли он в списке, и если есть, то удаляется из списка.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]print(list(my_finallist))
Выход:
[1, 2, 3, 4, 5, 6]
Резюме
- Чтобы удалить дубликаты из списка, вы можете использовать встроенную функцию set (). Особенность метода set () заключается в том, что он возвращает отдельные элементы.
- Вы можете удалить дубликаты из данного списка, импортировав OrderedDict из коллекций. Он доступен начиная с python2.7. OrderedDictdict позаботится о том, чтобы вернуть вам отдельные элементы в том порядке, в котором присутствует ключ.
- Вы можете использовать цикл for, в котором мы будем просматривать список элементов для удаления дубликатов.
- Метод unique () из модуля Numpy может помочь нам удалить дубликаты из приведенного списка.
- Модуль Pandas имеет метод unique (), который предоставит нам уникальные элементы из данного списка.
- Комбинация понимания списка и перечисления используется для удаления повторяющихся элементов из списка. Enumerate возвращает объект со счетчиком для каждого элемента в списке.