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>