Open In App

Maximum Frequency Character in String - Python

Last Updated : 01 Nov, 2025
Comments
Improve
Suggest changes
13 Likes
Like
Report

The task is to find the character in a string that appears the most number of times. For example, in "hello world", the character 'l' appears 3 times, which is the highest frequency. Let’s explore multiple methods to find the maximum frequency character in Python.

Using collection.Counter

This method uses Counter to quickly count the frequency of each character and directly find the one with the maximum count. It is the most efficient approach for large strings.

Python
from collections import Counter
s = "hello world"
frequency = Counter(s)
max_char = max(frequency, key=frequency.get)
print(max_char)

Output
l

Explanation:

  • Counter(s) creates a dictionary where each character is a key and its frequency is the value.
  • max(frequency, key=frequency.get) finds the key (character) with the highest value (frequency).

Using set + Counter

This method scans only unique characters instead of the entire string, improving performance for strings with repeated characters.

Python
from collections import Counter
s = "hello world"
max_char = max(set(s), key=Counter(s).get)
print(max_char)

Output
l

Explanation:

  • set(s) selects unique characters.
  • Counter(s).get provides the frequency of each character.
  • max(..., key=...) finds the character with the highest frequency.

Using dict.get() with max()

This method involves creating a dictionary to store the frequency of each character and then using the max() function to find the character with the highest frequency. The dict.get() method helps in counting occurrences efficiently.

Python
s = "hello world"
freq = {}
for char in s:
    freq[char] = freq.get(char, 0) + 1

max_char = max(freq, key=freq.get)
print(max_char)

Output
l

Explanation:

  • freq.get(char, 0) + 1 increments the count for each character.
  • max(freq, key=freq.get) returns the character with the maximum count.

Using str.count()

str.count() method counts the occurrences of a specific character in the string. By iterating over each unique character and using this method, we can find the one with the maximum frequency.

Python
s = "hello world"
max_char = ''
max_count = 0

for char in set(s):
    count = s.count(char)
    if count > max_count:
        max_count = count
        max_char = char

print(max_char)

Output
l

Explanation:

  • set(s) avoids duplicate calculations.
  • s.count(char) counts each character's occurrences.
  • The loop updates max_count and max_char whenever a higher frequency is found.

Explore