Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Python program to find the most occurring character and its count

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given a string, write a python program to find the most occurrence character and its number of occurrences. Examples:

Input : hello
Output : ('l', 2)

Input : geeksforgeeks
Output : ('e', 4)

We can solve this problem quickly in python using Counter() method. Simple Approach is to 1) Create a dictionary using Counter method having strings as keys and their frequencies as values. 2) Find the maximum occurrence of a character i.e. value and get the index of it. 

Python




# Python program to find the most occurring
# character and its count
from collections import Counter
 
def find_most_occ_char(input):
 
    # now create dictionary using counter method
    # which will have strings as key and their
    # frequencies as value
    wc = Counter(input)
 
    # Finding maximum occurrence of a character
        # and get the index of it.
    s = max(wc.values())
    i = wc.values().index(s)
     
    print wc.items()[i]
 
# Driver program
if __name__ == "__main__":
    input = 'geeksforgeeks'
    find_most_occ_char(input)

Output:

('e', 4)

Time Complexity: O(N) where N is the length of the input string
Auxiliary Space: O(1)

One more approach to find the most occurring character and its count in python3

Python3




# python code to find most occurring character in a string and its count
string1="geeksforgeeks"
list1=[]
list2=[]
for i in string1:
  if i not in list1:
    list1.append(i)#appending unique characters of string
    list2.append(string1.count(i))
#finding maximum in the list
occ=max(list2)
ele=list1[list2.index(occ)]
print(ele,occ)
    

Output

e 4

Time Complexity: O(N)
Auxiliary Space: O(N)

Approach : Using operator.countOf() and index() methods

Python3




# python code to find most occurring character in a string and its count
string1="geeksforgeeks"
list1=[]
list2=[]
for i in string1:
  if i not in list1:
    list1.append(i)#appending unique characters of string
    import operator
    list2.append(operator.countOf(string1,i))
#finding maximum in the list
occ=max(list2)
ele=list1[list2.index(occ)]
print(ele,occ)

Output

e 4

Time Complexity: O(N)
Auxiliary Space: O(N)

Approach: Using lambda function 

This new approach uses a lambda function to count the occurrences of each character in the string, and then creates a list of tuples containing the character and its count. Finally, it finds the tuple with the maximum count and prints its character and counts.

Python3




# python code to find most occurring character in a string and its count
string1 = "geeksforgeeks"
 
# use a lambda function to count occurrences of each character in the string
count_char = lambda c: string1.count(c)
 
# create a list of tuples containing the character and its count
char_counts = [(c, count_char(c)) for c in set(string1)]
 
# find the tuple with the maximum count and print its character and count
most_common = max(char_counts, key=lambda x: x[1])
print(most_common[0], most_common[1])
 
# Contributed by adityasha4x71

Output

e 4

Time Complexity: O(N*N), due to count() function used in the lambda

Auxiliary Space: O(N), for creating a list of tuples containing the character and its count. 


My Personal Notes arrow_drop_up
Last Updated : 15 Mar, 2023
Like Article
Save Article
Similar Reads
Related Tutorials