Print frequency of each character in a string in Python
In this tutorial, we will learn how to print the frequency of each character in a string using Python.
Frequency of each character in a string
For that, we have two methods.
- Using basic logic.
- Counter() method.
Let’s start with the first one.
if-else statement (Basic logic)
First of all, let’s take a string for which we have to find the frequency of each character.
my_string = "Nitesh Jhawar"
We will define an empty dictionary, freq_dict. This dictionary will contain each character and its frequency in the key-value pairs. For example,
freq_dict={‘N’: 1,’i’:1}.
The key represents the character and the frequency represents its respective frequency.
freq_dict = {}
Now, its time to use for loop.
for i in my_string: if i in freq_dict: freq_dict[i]=freq_dict[i] + 1 else: freq_dict[i] = 1
Here, we have used a for loop to iterate through the characters in my_string using the iterating variable i.
After that, we use the if-else statement. If i exists in our dictionary, then we increase the frequency count by 1 otherwise we will initialize the value to 1.
Finally, We need to print our dictionary.
print ("Characters with their frequencies:\n",freq_dict)
And the output will be,
Characters with their frequencies: {'N': 1, 'i': 1, 't': 1, 'e': 1, 's': 1, 'h': 2, ' ': 1, 'J': 1, 'a': 2, 'w': 1, 'r': 1}
Counter() method
In Python, we have a module named collections. It is a container that is used to store data such as a dictionary, list, etc. collections module contains a method Counter() which is also a container that stores data in the form of a dictionary i.e, elements as key and its frequency as value.
Syntax:
Counter(string_name)
Now, let’s use it.
from collections import Counter my_string = "Nitesh Jhawar" freq_dict = Counter(my_string) print ("Characters with their frequencies:\n",freq_dict)
From the collections module, we have an imported Counter method.
The dictionary returned by Counter() is stored in freq_dict. It is then printed using the print statement.
Output:
Characters with their frequencies: Counter({'h': 2, 'a': 2, 'N': 1, 'i': 1, 't': 1, 'e': 1, 's': 1, ' ': 1, 'J': 1, 'w': 1, 'r': 1})
Also, learn:
Leave a Reply