Автор оригинала: Team Python Pool.
Вступление
В Python у нас есть дубликаты элементов, присутствующих в списке. Иногда мы сталкиваемся с ситуацией, когда нам нужно подсчитать уникальные значения в списке в Python. Поэтому мы будем обсуждать различные способы поиска уникальных значений в массиве или списке. А также выведите количество уникальных элементов, присутствующих в списке.
Уникальный элемент Python в списке
Уникальные элементы-это элементы, которые появляются только один раз в списке .
Предположим, у нас есть список = [1, 2, 3, 2, 3, 5, 1, 6, 1]. Здесь мы видим, что 1 приходит 3 раза, 2 приходит 2 раза, 3 приходит 2 раза, 5 и 6 приходят один раз. Если мы посчитаем уникальные элементы в списке, то их будет всего 5.[1, 2, 3, 5, 6].
Различные методы подсчета уникальных значений
Давайте разберемся во всех различных методах, с помощью которых мы можем вычислить количество уникальных элементов в списке или массиве с помощью примеров:
1. Python Подсчитывает уникальные значения в списке обычным методом грубой силы
Мы называем этот метод подходом грубой силы . Этот метод не так эффективен, так как в нем больше времени и больше пространства. Этот подход будет принимать пустой список и переменную count, которая будет установлена в 0. мы пройдем от начала до конца и проверим, нет ли этого значения в пустом списке. Затем мы добавим его и увеличим переменную count на 1. Если его нет в пустом списке, то мы не будем его считать, не будем добавлять в пустой список.
# take an input list as lst lst = [1, 2, 3, 5, 1, 2, 6, 7] print("Input list : ",lst) #Empty list lst1 = [] count = 0 # traverse the array for i in lst: if i not in lst1: count = count + 1 lst1.append(i) # printing the output print("Output list : ",lst1) print("No. of unique items are:", count)
Выход:
Input list : [1, 2, 3, 5, 1, 2, 6, 7] Output list : [1, 2, 3, 5, 6, 7] No. of unique items are: 6
Объяснение:
Здесь, во-первых, мы взяли входной список и напечатали входной список. Во-вторых, мы взяли пустой список и переменную count, которая установлена в 0. В-третьих, мы прошли список с самого начала и проверили, нет ли значения в пустом списке или нет. Если значение отсутствует в пустом списке, мы увеличиваем значение счетчика на 1 и добавляем это значение в пустой список. Если мы обнаруживаем, что элементы присутствуют в списке, мы не добавляем их в пустой список и не увеличиваем значение счетчика на 1. Наконец, мы напечатали пустой список, который теперь содержит уникальные значения и количество списка. Таким образом, мы можем видеть все уникальные элементы в списке.
2. С помощью счетчика
В этом методе мы будем использовать функцию счетчика из библиотеки коллекций. В этом случае мы будем создавать словарь с помощью функции counter (). Ключи будут уникальными элементами, а значения-числом этого уникального элемента. Взяв ключи из словаря, мы создадим список и напечатаем длину списка.
#import Counter from collections from collections import Counter #input of list lst = [1, 2, 3, 1, 2, 5, 3, 4, 3, 6] print("Input list : ",lst) lst1 = Counter(lst).keys() print("output list : ",lst1) print("No of unique elements in the list are:", len(lst1))
Выход:
Input list : [1, 2, 3, 1, 2, 5, 3, 4, 3, 6] output list : dict_keys([1, 2, 3, 5, 4, 6]) No of unique elements in the list are: 6
Объяснение:
Здесь, во-первых, мы импортировали функцию Counter() из библиотеки коллекций. Во-вторых, мы взяли входной список и напечатали входной список. В-третьих, мы применили счетчик(), неупорядоченную коллекцию, где элементы хранятся как ключи словаря, а их подсчеты хранятся как значения словаря. Из входного списка мы создали новый список, в котором хранятся только те элементы, ключевые значения которых присутствуют один раз. Все эти элементы различны в списке. Наконец, мы напечатали пустой список, который теперь содержит уникальные значения и количество списка. Таким образом, мы можем видеть все уникальные элементы в списке.
3. Python Подсчитывает Уникальные Значения В Списке С помощью набора
В этом методе мы будем использовать встроенный тип данных python, называемый Set. Мы возьмем входные данные в виде списка, а затем преобразуем их в набор. Как мы все знаем, набор не содержит в себе никаких повторяющихся элементов. Он будет содержать только уникальные элементы, и мы выведем длину списка с помощью функции length ().
# Take input list lst = [2, 3, 5, 2, 4, 3, 1, 5, 2, 1] print("Input list : ", lst) lst1 = set(lst) print("Output list : ",lst1) print("No of unique elements in the list are:", len(lst1))
Выход:
Input list : [2, 3, 5, 2, 4, 3, 1, 5, 2, 1] Output list : {1, 2, 3, 4, 5} No of unique elements in the list are: 5
Объяснение:
Здесь, во-первых, мы взяли входной список и напечатали входной список. Во-вторых, мы преобразовали входной список в набор. Set, который является встроенным типом данных в python, содержит только уникальные элементы в нем. В-третьих, мы сохранили все значения в другом списке. Наконец, мы напечатали пустой список, который теперь содержит уникальные значения и количество списка. Таким образом, мы можем видеть все уникальные элементы в списке.
4. С помощью numpy.unique
В этом методе мы импортируем библиотеку numpy с ее псевдонимом np. В библиотеке numpy мы будем использовать функцию numpy.unique (), которая возвращает уникальное значение входного списка. Мы также можем вернуть количество каждого уникального значения, если параметр return count имеет значение True.
#import numpy module import numpy as np #input list lst = [1,2,3,4,2,5,1,2,6,3] print("Input list : ",lst) lst1 = np.unique(lst) print("Output list : ", lst1) print("No of unique elements in the list are:", len(lst1))
Выход:
Input list : [1, 2, 3, 4, 2, 5, 1, 2, 6, 3] Output list : [1 2 3 4 5 6] No of unique elements in the list are: 6
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy в качестве псевдонима np. Во-вторых, мы взяли входной список и напечатали входной список. В-третьих, мы применили numpy. unique (), который сохранит только уникальные значения списка и сохранит их в другом списке. Наконец, мы напечатали пустой список, который теперь содержит уникальные значения и количество списка. Таким образом, мы можем видеть все уникальные элементы в списке.
5. Python Подсчитывает Уникальные Значения В Списке С Помощью Функции pandas dict + zip
В этом методе мы будем использовать словарь с комбинацией функций zip для поиска уникальных значений строки путем преобразования их в список.
#input as a string str="latracalsolutions" unique = dict(zip(list(str),[list(str).count(i) for i in list(str)])) print("Dictionary : ",unique) print("count : ",len(unique))
Выход:
Dictionary : {'l': 3, 'a': 3, 't': 2, 'r': 1, 'c': 1, 's': 2, 'o': 2, 'u': 1, 'i': 1, 'n': 1} count : 10
Объяснение:
Здесь во-первых, мы взяли строку как. Во-вторых, мы применили функцию dict внутри того, что мы применили функцию zip, и внутри нее мы преобразовали строку в список и подсчитали ключи и значения, пройдя по списку. В-третьих, мы взяли переменную unique, в которой мы хранили ключи и значения словаря. Наконец, мы напечатали длину словаря с помощью функции length в python.
6. Использование фрейма данных pandas.
В этом методе мы будем импортировать панд в качестве псевдонима pd. мы будем принимать входные данные в кадре данных панд.
import pandas as pd df = pd.DataFrame({ 'Marks' : [65, 65, 64, 58, 67, 60, 58, 65]}, Names = ['sid', 'sam', 'Nia', 'Jenny', 'virat', 'Lucifer', 'Ramu', 'Nikita']) n = len(pd.unique(df['Marks'])) print("No.of.unique values :",n)
Выход:
No.of.unique values : 5
Объяснение:
Здесь, во-первых, мы импортировали модуль панд с псевдонимом pd. Во – вторых, мы создали фрейм данных с вводом меток и имен. В-третьих, мы создали переменную n, в которой будем хранить значение. Мы применили уникальную функцию в метках в панд, а затем вычислили ее длину с помощью функции длины и сохранили ее в переменной n. Наконец-то мы напечатали результат.
Кроме того, Читайте
- Numpy Count | Практическое объяснение поиска вхождений
- 4 Надежных Способа Подсчета Слов в строке в Python
- 5 Лучших способов найти длину строки Python
- Использование панд в CSV() с совершенством
- Сложение матриц в Python | Сложение двух матриц
Вывод
В этом уроке мы увидели, что представляют собой уникальные элементы в списке. Кроме того, мы видели различные методы, с помощью которых мы можем найти уникальные элементы в списке. Мы также подсчитали уникальные элементы в списке и напечатали их количество. Все методы подробно объясняются с помощью примеров. Все примеры также объясняются, что даст вам лучшее понимание методов. Вы можете использовать любую из программ, чтобы найти количество уникальных элементов в списке в соответствии с вашими потребностями и выбором.