Как посчитать количество определенных элементов в списке python
Перейти к содержимому

Как посчитать количество определенных элементов в списке python

  • автор:

Python: количество вхождений в списке

Метод python count() подсчитывает количество вхождений элемента в списке и возвращает найденое значение.

list.count(x) 

Метод count() принимает один аргумент x, значение которое нужно найти. Данный метод возвращает количество вхождений элемента в список.

# объявление списка website_list = ['google.com','includehelp.com', 'linkedin.com', 'google.com'] # подсчет вхождений 'google.com' count = website_list.count('google.com') print('google.com found',count,'times.') # подсчет вхождений 'linkedin.com' count = website_list.count('linkedin.com') print('linkedin.com found',count,'times.') 
google.com found 2 times. linkedin.com found 1 times.

Метод count() также работает с кортежем

# объявление кортежа sample_tuple = ((1,3), (2,4), (4,6)) # условные вхождения (1,2) count = sample_tuple.count((1,2)) print('(1,2) found',count,'times.') # условное вхождение (1,3) count = sample_tuple.count((1,3)) print('(1,3) found',count,'times.') 
(1,2) found 0 times. (1,3) found 1 times. 

Подсчет вхождений элемента в списке Python

В этом посте будет обсуждаться, как подсчитывать количество вхождений элемента в списке Python.

1. Использование count() функция

Чтобы получить общее количество вхождений элемента в списке, вы можете использовать count() функция.

if __name__ == ‘__main__’ :
ints = [ 1 , 2 , 3 , 4 , 2 , 1 ]
freq = ints . count ( item )
print ( freq ) # 2

2. Использование collections.Counter

Чтобы получить общее количество вхождений каждого элемента в списке, вы можете использовать Counter класс из collections модуль. Это рекомендуемое решение, когда вам нужно подсчитать несколько элементов из списка.

Чтобы получить общее количество вхождений для любого отдельного элемента в списке, вы можете использовать функцию get() функцию, как показано ниже:

Подсчет количества элементов в словаре Python

Операции len(dict) возвращает количество элементов в словаре dict .

len(dictview) так же возвращает количество элементов в словаре, если dictview является представлением словаря dict , таким как dict.keys() , dict.values() и dict.items() .

Примеры получения длины словаря (количества элементов в словаре):

>>> x = "one": 1, "two": 2, "three": 3, "four": 4> >>> len(x) # 4 >>> keys = x.keys() >>> len(keys) # 4 >>> values = x.values() >>> len(values) # 4 >>> items = x.items() >>> len(items) # 4 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Представления словарей dict.keys, dict.values и dict.items
  • Исходный словарь для представления dictview.mapping
  • Получение списка ключей словаря list(dict)
  • Количество элементов в словаре len(dict)
  • Доступ к значению словаря по ключу dict[key]
  • Добавление/изменение значения словаря по ключу key
  • Удаление значения словаря по ключу
  • Проверка наличия/отсутствия ключа key в словаре dict
  • Проверка наличия/отсутствия значения value в словаре Python
  • Проверка наличия/отсутствия пары (key, value) в словаре dict
  • Итерирование по ключам и значениям словаря Python
  • Метод dict.clear(). Очистить словарь
  • Метод dict.copy(), копия словаря
  • Метод dict.fromkeys(), словарь с ключами по умолчанию
  • Метод dict.get(), значение по умолчанию если ключа нет
  • Метод dict.items(), список кортежей
  • Метод dict.keys(), список ключей словаря
  • Метод dict.values(), список значений словаря
  • Метод dict.pop()
  • Метод dict.popitem(), получить пару ключ/значение
  • Метод dict.setdefault(), получает/вставляет значение ключа
  • Метод dict.update(), обновление/дополнение словаря
  • Объединение двух словарей в новый словарь Python
  • Сортировка словаря по значению и/или ключу
  • Обратный порядок/реверс словаря reversed(dict)
  • Генератор словаря и его использование
  • Фильтр словаря по ключам и/или значениям
  • Словарь как фабрика функций

ХОЧУ ПОМОЧЬ
ПРОЕКТУ

Подсчет количества элементов в коллекции

Для подсчета вхождений значения в массиве numpy. Это будет работать так:

import numpy as np a=np.array([0,3,4,3,5,4,7]) print(np.sum(a==3)) # 2

Логика заключается в том, что Булево выражение создает массив, в котором все вхождения запрошенных значений равны 1, а все остальные равны нулю. Таким образом, суммируя их, мы получим количество случаев вхождения. Это работает для массивов любой формы или типа. Не забудьте убедиться, что вы установили пакет NumPy .

Есть два метода, которые используют для подсчета вхождения всех уникальных значений в numpy:

  • уникальный — автоматически выравнивает многомерные массивы
  • бинарный подсчет — работает только с одномерными массивами, содержащими только положительные целые числа
unique, counts = np.unique(a, return_counts=True) print(unique , counts) # counts[i] равняется вхождениям unique[i] в a # [0 3 4 5 7] [1 2 2 1 1] bin_count=np.bincount(a) print(bin_count) # bin_count[i] равняется вхождениям i в a # [1 0 0 2 2 1 0 1] 

Если ваши данные представляют собой массивы numpy, как правило, гораздо быстрее использовать методы numpy, чем преобразовывать данные в универсальные методы.

Подсчет всех вхождений всех элементов в итерируемом: collection.Counter

from collections import Counter c = Counter(["a", "b", "c", "d", "a", "b", "a", "c", "d"]) c # Counter() c["a"] # 3 c[7] # не в списке (7 входило 0 раз!) # 0

collections.Counter может быть использован для любого итератора и подсчитывает каждое вхождение для каждого элемента.
Примечание: Одно исключение , если dict или другой collections.Mapping -как класса дается, то он не будет считать их, а это создает счетчик с этими значениями:

Примечание: Одно исключение , если dict или другой collections.Mapping -как класса дается, то он не будет считать их, а это создает счетчик с этими значениями:

Counter() # Counter() Counter() # Counter не проверяет значения типа int # Counter()

Подсчет вхождений подстроки в строку: str.count

astring = 'thisisashorttext' astring.count('t') # 4

Это работает даже для подстрок длиннее одного символа:

astring.count('th') # 1 astring.count('is') # 2 astring.count('text') # 1

которое не было бы возможно с collections.Counter , который только подсчитывает одиночные символы:

from collections import Counter Counter(astring) # Counter()

Подсчет вхождений одного элемента в последовательности: list.count() и tuple.count()

alist = [1, 2, 3, 4, 1, 2, 1, 3, 4] alist.count(1) # 3 atuple =('bear', 'weasel', 'bear', 'frog') atuple.count('bear') # 2 atuple.count('fox') # 0 

Получение наиболее распространенного значения: collection.Counter

Подсчет ключи от Mapping не представляется возможным с collections.Counter , но мы можем посчитать значения:

from collections import Counter adict = Counter(adict.values()) # Counter()

Наиболее распространенные элементы доступны с помощью метода most_common :

# сортируем их от наиболее распространенного # до наименее распространенного значения: Counter(adict.values()).most_common() # [(5, 3), (2, 2), (3, 1)] # получим наиболее распространенное значение Counter(adict.values()).most_common(1) # [(5, 3)] # получим 2 самых распространенных значения Counter(adict.values()).most_common(2) # [(5, 3), (2, 2)]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *