How do you count occurrences of each element in a list python?

Given a list in Python and a number x, count the number of occurrences of x in the given list.

Examples: 

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.

Method 1: Count occurrences of an element in a list Using a Loop in Python

We keep a counter that keeps on increasing if the required element is found in the list.

Python3

def countX[lst, x]:

    count = 0

    for ele in lst:

        if [ele == x]:

            count = count + 1

    return count

lst = [8, 6, 8, 10, 8, 20, 10, 8, 8]

x = 8

print['{} has occurred {} times'.format[x,

                                        countX[lst, x]]]

Output:

8 has occurred 5 times

Method 2: Count occurrences of an element in a list Using count[]

The idea is to use the list method count[] to count the number of occurrences. 

Python3

def countX[lst, x]:

    return lst.count[x]

lst = [8, 6, 8, 10, 8, 20, 10, 8, 8]

x = 8

print['{} has occurred {} times'.format[x,

                                        countX[lst, x]]]

Output:

8 has occurred 5 times 

Method 3: Count occurrences of an element in a list Using Counter[]

The counter method returns a dictionary with occurrences of all elements as a key-value pair, where the key is the element and the value is the number of times that element has occurred. 

Python3

from collections import Counter

l = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

x = 3

d = Counter[l]

print['{} has occurred {} times'.format[x, d[x]]]

Output:

3 has occurred 2 times

Method 4: Count occurrences of an element in a list Using countof[]

Operator.countOf[] is used for counting the number of occurrences of b in a. It counts the number of occurrences of value. It returns the Count of a number of occurrences of value.

Python3

import operator as op

l = [1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5]

x = 2

print[f"{x} has occurred {op.countOf[l, x]} times"]

Output:

2 has occurred 3 times

Method 5: Count occurrences of an element in a list Using dictionary comprehension

Python allows dictionary comprehensions. We can create dictionaries using simple expressions. A dictionary comprehension takes the form {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']]

Output:

1

Method 6: Count occurrences of an element in a list Using the panda’s library

Pandas Series.value_counts[] function return a Series containing counts of unique values. The resulting object will be in descending order so that the first element is the most frequently-occurring element.

Python3

import pandas as pd

l = [1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5]

count = pd.Series[l].value_counts[]

print["Element Count"]

print[count]

Output:

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

Method: Using list comprehension

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,"occures",len[x],"times"]

Output

the element 1 occures 2 times


Chủ Đề