Python | Comptar les ocurrències d'un element en una llista

Donada una llista en Python i un nombre x, compta el nombre d'ocurrències de x a la llista donada.

Exemples:

 Input: lst = [15, 6, 7, 10, 12, 20, 10, 28, 10], x = 10 Output: 3 Explanation:  10 appears three times in given list. Input: lst = [8, 6, 8, 10, 8, 20, 10, 8, 8], x = 16 Output: 0 Explanation: 16 appears zero times in given list. 

Recompte d'ocurrències d'elements a la llista de Python

A continuació es mostren els mètodes mitjançant els quals podem comptar totes les ocurrències d'un element en una llista de Python.

  • Utilitzant un bucle a Python
  • Ús de la comprensió de llistes
  • Utilitzant la funció d'enumeració
  • Utilitzant count()
  • Utilitzant Counter()
  • Utilitzant countOf()
  • Utilitzant comprensió del diccionari
  • Utilitzant la biblioteca de Pandas

Recompte d'ocurrències de Python mitjançant un bucle a Python

Mantenim un comptador que continua augmentant si l'element requerit es troba a la llista.

Python 3




# Python code to count the number of occurrences> def> countX(lst, x):> > count> => 0> > for> ele> in> lst:> > if> (ele> => => x):> > count> => count> +> 1> > return> count> # Driver Code> lst> => [> 8> ,> 6> ,> 8> ,> 10> ,> 8> ,> 20> ,> 10> ,> 8> ,> 8> ]> x> => 8> print> (> '{} has occurred {} times'> .> format> (x,> > countX(lst, x)))>

Sortida

8 has occurred 5 times 

Recompte d'ocurrències de Python mitjançant la comprensió de llistes

En aquest exemple, estem utilitzant comprensió de llista per comptar totes les ocurrències d'un element en una llista de Python.

Python 3




l> => [> 1> ,> 1> ,> 2> ,> 2> ,> 2> ,> 3> ,> 3> ,> 4> ,> 4> ,> 5> ,> 5> ]> ele> => 1> x> => [i> for> i> in> l> if> i> => => ele]> print> (> 'the element'> ,ele,> 'occurs'> ,> len> (x),> 'times'> )>

Sortida

the element 1 occurs 2 times 

Recompte de Python utilitzant la funció d'enumeració

En aquest exemple, estem utilitzant funció d'enumeració per comptar totes les ocurrències d'un element en una llista de Python.

Python 3




l> => [> 1> ,> 1> ,> 2> ,> 2> ,> 2> ,> 3> ,> 3> ,> 4> ,> 4> ,> 5> ,> 5> ]> ele> => 1> x> => [i> for> j,i> in> enumerate> (l)> if> i> => => ele]> print> (> 'the element'> ,ele,> 'occurs'> ,> len> (x),> 'times'> )>

Sortida

the element 1 occurs 2 times 

Comptar les ocurrències d'un element mitjançant count()

La idea és utilitzar el mètode de llista count() per comptar el nombre d'ocurrències.

Python 3




# Python code to count the number of occurrences> def> countX(lst, x):> > return> lst.count(x)> # Driver Code> lst> => [> 8> ,> 6> ,> 8> ,> 10> ,> 8> ,> 20> ,> 10> ,> 8> ,> 8> ]> x> => 8> print> (> '{} has occurred {} times'> .> format> (x,> > countX(lst, x)))>

Sortida

8 has occurred 5 times 

Python Recompte d'ocurrències d'un element en una llista utilitzant Counter()

El mètode c onter retorna un diccionari amb les ocurrències de tots els elements com a parell clau-valor, on la clau és l'element i el valor és el nombre de vegades que s'ha produït aquest element.

Python 3




from> collections> import> Counter> # declaring the list> l> => [> 1> ,> 1> ,> 2> ,> 2> ,> 3> ,> 3> ,> 4> ,> 4> ,> 5> ,> 5> ]> # driver program> x> => 3> d> => Counter(l)> print> (> '{} has occurred {} times'> .> format> (x, d[x]))>

Sortida

3 has occurred 2 times 

Comptar les ocurrències d'un element u cantar countOf()

Operator.countOf() s'utilitza per comptar el nombre d'ocurrències de b a a. Compta el nombre d'ocurrències de valor. Retorna el recompte d'un nombre d'ocurrències de valor.

Python 3




import> operator as op> # declaring the list> l> => [> 1> ,> 1> ,> 2> ,> 2> ,> 2> ,> 3> ,> 3> ,> 4> ,> 4> ,> 5> ,> 5> ]> # driver program> x> => 2> print> (f> '{x} has occurred {op.countOf(l, x)} times'> )>

Sortida

2 has occurred 3 times 

Ús de Python Dictionary Comprehension

Python ho permet comprensió del diccionari . Podem crear diccionaris utilitzant expressions senzilles. Una comprensió de diccionari pren la forma {clau: valor per a (clau, valor) en iterable}

Python 3




lis> => [> 'a'> ,> 'd'> ,> 'd'> ,> 'c'> ,> 'a'> ,> 'b'> ,> 'b'> ,> 'a'> ,> 'c'> ,> 'd'> ,> 'e'> ]> occurrence> => {item: lis.count(item)> for> item> in> lis}> print> (occurrence.get(> 'e'> ))>

Sortida

1 

Utilitzant la biblioteca Pandas

La funció Pandas Series.value_counts() retorna una sèrie que conté recomptes de valors únics. L'objecte resultant estarà en ordre descendent de manera que el primer element és l'element que apareix amb més freqüència.

Python 3




import> pandas as pd> # declaring the list> l> => [> 1> ,> 1> ,> 2> ,> 2> ,> 2> ,> 3> ,> 3> ,> 4> ,> 4> ,> 5> ,> 5> ]> count> => pd.Series(l).value_counts()> print> (> 'Element Count'> )> print> (count)>

Sortida:

Element Count 2 3 1 2 3 2 4 2 5 2 dtype: int64