logo

Python | Spočítat výskyty prvku v seznamu

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>