logo

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'>)>

>

fitxer .tif

>

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

classe vs objecte en java




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}

quantes pel·lícules de missió impossible hi ha

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>