Vzhledem k seznamu v Pythonu a číslu x spočítejte počet výskytů x v daném seznamu.
Příklady:
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.>
Počítejte výskyty položky v seznamu Python
Níže jsou uvedeny metody, pomocí kterých můžeme spočítat všechny výskyty prvku v seznamu Python.
- Použití smyčky v Pythonu
- Používání funkce List Comprehension
- Použití funkce enumerate
- Použití count()
- Použití Counter()
- Použití countOf()
- Použitím porozumění slovníku
- Používání knihovny Pandas
Python Počítání výskytů pomocí smyčky v Pythonu
Udržujeme počítadlo, které se neustále zvyšuje, pokud je v seznamu nalezen požadovaný prvek.
Python3
# 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)))> |
>
>Výstup
8 has occurred 5 times>
Python Count Occurences pomocí List Comprehension
V tomto příkladu používáme porozumění seznamu spočítat všechny výskyty prvku v seznamu Pythonu.
Python3
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'> )> |
>
np std
>Výstup
the element 1 occurs 2 times>
Python Count pomocí funkce Enumerate
V tomto příkladu používáme funkce výčtu spočítat všechny výskyty prvku v seznamu Pythonu.
Python3
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'> )> |
>
>Výstup
the element 1 occurs 2 times>
Spočítat výskyty prvku pomocí count()
Smyslem je použít metoda seznamu count() spočítat počet výskytů.
Python3
# 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)))> |
>
>Výstup
8 has occurred 5 times>
Python Počítání výskytů prvku v seznamu pomocí Counter()
Metoda ccounter vrací slovník s výskyty všech prvků jako pár klíč–hodnota, kde klíč je prvek a hodnota je počet výskytů prvku.
Python3
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]))> |
>
>Výstup
3 has occurred 2 times>
Spočítat výskyty prvku u zpívat počet()
Operator.countOf() se používá pro počítání počtu výskytů b v a. Počítá počet výskytů hodnoty. Vrací Počet několika výskytů hodnoty.
Python3
if-else java
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'> )> |
>
>Výstup
2 has occurred 3 times>
Použití Python Dictionary Comprehension
Python umožňuje porozumění slovníku . Můžeme vytvářet slovníky pomocí jednoduchých výrazů. Slovník má tvar {klíč: hodnota pro (klíč, hodnota) v iterable}
Python3
parametr ve skriptu shellu
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'> ))> |
>
>Výstup
1>
Pomocí knihovny Pandas
Funkce Pandas Series.value_counts() vrací řadu obsahující počty jedinečných hodnot. Výsledný objekt bude v sestupném pořadí, takže první prvek je nejčastěji se vyskytujícím prvkem.
Python3
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)> |
>
>
Výstup:
Element Count 2 3 1 2 3 2 4 2 5 2 dtype: int64>