Count vowels in a string Python
In this post, you will learn how to count the total number of vowels present in a string using the Python programming language.
Such a type of logical coding question is generally asked in a programming interview or competitive examination. We should be aware that the solution to the most fundamental coding or programming inquiries decides how we perform in an interview. There are several ways to count the total number of vowels present in a given string. Here, we have mentioned most of them.
Python count vowels in string using dict.fromkeys()
This method accepts a list of keys that you want to turn into a dictionary.
In the given code, we have read an input using the input() method. Next, we declare a variable and assign the vowels. The vowels in the uppercase string "AEIOU" count as different characters than the vowels in the lowercase string "aeiou". So, we need to convert them all to a common format. We have used the casefold() method to make the input string case insensitive. We have used the dictionary method fromkeys() to construct a new dictionary with each vowel as its key and all values equal to 0. Next, we looped over the string and checked for vowels, incrementing the count in the dictionary whenever we discovered one.
# Count vowels in a string using Python
# string of vowels
vowels = 'aeiou'
# Enter an input string
user_input = input("Enter a string: ")
# convert string in case insensitive
string = user_input.casefold()
# create a dictionary with each vowel a key and value 0
count_vowels = {}.fromkeys(vowels, 0)
# count the number of each vowels
for x in string:
if x in count_vowels:
count_vowels[x] += 1
print("Total number of vowels - ",count_vowels)
Output of the above code-
Enter a string: Elephant is a big animal
Total number of vowels - {'a': 4, 'e': 2, 'i': 3, 'o': 0, 'u': 0}
Python count vowels in string using for loop
Here is the Python program to count vowels using a for loop. When the user entered the string as input, it passed through the for loop statement. If the letter is a vowel, the count variable increases. Finally, we got the total count value.
# Count vowels in a string using Python
# string of vowels
vowels = 'aeiou'
# Enter an input string
user_input = input("Enter a string: ")
# convert string in case insensitive
string = user_input.lower()
count_vowels = {}
for vowel in vowels:
count = string.count(vowel)
count_vowels[vowel] = count
# count the number of each vowels
print("Total number of vowels - ",count_vowels)
Output of the above code-
Enter a string: ostrich is the largest bird
Total number of vowels - {'a': 1, 'e': 2, 'i': 3, 'o': 1, 'u': 0}
Python count vowels in string using for each
We first discover all the individual characters and, afterward, test if they are available in the string by addressing the vowels.
def count_vowels(string, vowels):
final = [each for each in string if each in vowels]
print(len(final))
print(final)
# string of vowels
vowels = 'aeiou'
# Enter an input string
user_input = input("Enter a string: ")
# convert string in case insensitive
string = user_input.casefold()
# call function
count_vowels(string, vowels);
Output of the above code-
Enter a string: Elephant is a big animal
9
['e', 'e', 'a', 'i', 'a', 'i', 'a', 'i', 'a']
Python count vowels in string using a list and a dictionary comprehension
A list comprehension is a syntactic construct available in some programming languages for creating a list based on existing lists. It provides a concise way to create lists and uses square brackets ([]). Here, we have nested a list comprehension inside a dictionary comprehension to count the vowels in a string of a single line.
# Using dictionary and list comprehension
string = 'Hello, welcome to etutorialspoint'
# caseless comparisions
string = string.casefold()
# count the vowels
count = {x:sum([1 for char in string if char == x]) for x in 'aeiou'}
print(count)
Output of the above code:
{'a': 1, 'e': 4, 'i': 2, 'o': 5, 'u': 1}
Related Articles
Python multiline string
Alphabet pattern programs in Python
Python remove punctuation from string
Remove character from string Python
Count occurrences of each character in string Python
Convert string to list Python
Python split multiple delimiters
Python program to reverse a string
Permutation of string in Python
Remove spaces from string Python
splitlines in python
Python program to sort words in alphabetical order
Python split string by comma
Remove character from string Python
Check if two strings are anagrams Python
Remove last element from list Python
Python program to map two lists into a dictionary
Python Tkinter Combobox Event Binding
Python program to multiply two numbers
Count consonants in a string Python