Python | Skaičiuokite elemento pasikartojimus sąraše

Pateikę Python sąrašą ir skaičių x, suskaičiuokite x atvejų skaičių pateiktame sąraše.

Pavyzdžiai:

 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. 

Suskaičiuokite elemento pasikartojimus Python sąraše

Žemiau pateikiami metodai, kuriais galime suskaičiuoti visus elemento pasireiškimus Python sąraše.

  • Ciklo naudojimas Python
  • Sąrašo supratimo naudojimas
  • Surašymo funkcijos naudojimas
  • Naudojant skaičių ()
  • Naudojant skaitiklį ()
  • Naudojant countOf()
  • Naudojant žodyno supratimas
  • Pandos bibliotekos naudojimas

Python Count įvykių naudojant ciklo Python

Mes laikome skaitiklį, kuris nuolat didėja, jei sąraše randamas reikiamas elementas.

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

Išvestis

8 has occurred 5 times 

Python atvejų skaičiavimas naudojant sąrašo supratimą

Šiame pavyzdyje mes naudojame sąrašo supratimas skaičiuoti visus elemento pasireiškimus Python sąraše.

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

Išvestis

the element 1 occurs 2 times 

Python Count naudojant išvardijimo funkciją

Šiame pavyzdyje mes naudojame išvardinti funkciją skaičiuoti visus elemento pasireiškimus Python sąraše.

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

Išvestis

the element 1 occurs 2 times 

Suskaičiuokite elemento atvejus naudojant count ()

Idėja yra naudoti sąrašo metodas count () suskaičiuoti įvykių skaičių.

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

Išvestis

8 has occurred 5 times 

Python Skaičiavimas elemento sąraše naudojant Counter ()

C counter metodas grąžina žodyną su visų elementų pasireiškimais kaip rakto ir reikšmių pora, kur raktas yra elementas, o reikšmė yra elemento pasikartojimo skaičius.

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

Išvestis

3 has occurred 2 times 

Skaičiuokite elemento u atvejus dainuoti skaičius()

Operator.countOf( ) naudojamas skaičiuojant b atvejų skaičių a. Jis skaičiuoja vertės pasireiškimų skaičių. Jis grąžina vertės įvykių skaičių.

Python3




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

Išvestis

2 has occurred 3 times 

Python žodyno supratimo naudojimas

Python leidžia žodyno supratimai . Galime kurti žodynus naudodami paprastus posakius. Žodynas suprantamas tokia forma: {key: value for (key, value) in iterable}

Python3




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

Išvestis

1 

Pandos bibliotekos naudojimas

Funkcija Pandas Series.value_counts() grąžina seriją, kurioje yra unikalių reikšmių skaičius. Gautas objektas bus mažėjančia tvarka, kad pirmasis elementas būtų dažniausiai pasitaikantis elementas.

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

Išvestis:

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