Find most frequent element in a list in Python

In this article, we will see how to find the element which is most common in a given list. In other words, the element with the highest frequency. Python provides several approaches to solve this problem efficiently.

Using max() and count()

We apply the set() function to get unique elements of the list, then use count() to find the frequency of each element. Finally, we apply max() with a key function to get the element with the highest frequency.

Example

# Given list
numbers = [45, 20, 11, 50, 17, 45, 50, 13, 45]
print("Given List:")
print(numbers)

# Find most frequent element
result = max(set(numbers), key=numbers.count)
print("Element with highest frequency:")
print(result)
Given List:
[45, 20, 11, 50, 17, 45, 50, 13, 45]
Element with highest frequency:
45

Using Counter from collections

We use the Counter class from the collections module. The most_common() method returns a list of tuples with elements and their counts, sorted by frequency.

Example

from collections import Counter

# Given list
numbers = [45, 20, 11, 50, 17, 45, 50, 13, 45]
print("Given List:")
print(numbers)

# Count occurrences and find most common
occurrence_count = Counter(numbers)
result = occurrence_count.most_common(1)[0][0]
print("Element with highest frequency:")
print(result)
Given List:
[45, 20, 11, 50, 17, 45, 50, 13, 45]
Element with highest frequency:
45

Using mode() from statistics

This is a straightforward approach using the mode() function from the statistics module. It directly returns the most frequently occurring value.

Example

from statistics import mode

# Given list
numbers = [45, 20, 11, 50, 17, 45, 50, 13, 45]
print("Given List:")
print(numbers)

# Find mode (most frequent element)
result = mode(numbers)
print("Element with highest frequency:")
print(result)
Given List:
[45, 20, 11, 50, 17, 45, 50, 13, 45]
Element with highest frequency:
45

Comparison

Method Time Complexity Best For
max() + count() O(n²) Simple understanding
Counter O(n) Large datasets, additional statistics
mode() O(n) Statistical analysis, clean code

Conclusion

Use Counter for best performance with large datasets. Use mode() for statistical analysis and clean code. The max() + count() approach is good for learning but less efficient.

Updated on: 2026-03-15T18:02:58+05:30

8K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements