 GeeksforGeeks App
Open App Browser
Continue

# Python program to count number of vowels using sets in given string

Given a string, count the number of vowels present in given string using Sets. Prerequisite: Sets in Python Examples:

```Input : GeeksforGeeks
Output : No. of vowels : 5

Input : Hello World
Output : No. of vowels :  3```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: 1. Create a set of vowels using set() and initialize a count variable to 0. 2. Traverse through the alphabets in the string and check if the letter in the string is present in set vowel. 3. If it is present, the vowel count is incremented. Below is the implementation of above approach:

## Python3

 `# Python3 code to count vowel in``# a string using set` `# Function to count vowel``def` `vowel_count(``str``):``    ` `    ``# Initializing count variable to 0``    ``count ``=` `0``    ` `    ``# Creating a set of vowels``    ``vowel ``=` `set``("aeiouAEIOU")``    ` `    ``# Loop to traverse the alphabet``    ``# in the given string``    ``for` `alphabet ``in` `str``:``    ` `        ``# If alphabet is present``        ``# in set vowel``        ``if` `alphabet ``in` `vowel:``            ``count ``=` `count ``+` `1``    ` `    ``print``("No. of vowels :", count)``    ` `# Driver code``str` `=` `"GeeksforGeeks"` `# Function Call``vowel_count(``str``)`

Output:

`No. of vowels : 5`

Time Complexity: O(n), where n is the length of the string. We traverse the string character by character and for each character, we do a constant time operation to check if it is a vowel or not.
Auxiliary Space: O(1). We only used constant extra space for setting up the set.

Method 2: Use list comprehension to count the number of vowels in the given string

• Create a string containing all the vowels.
• Use list comprehension to iterate over each character in the given string and check if it is a vowel or not.
• If the character is a vowel, add it to a list.
• Use the len() function to count the number of elements in the list, which will give the count of vowels in the given string.
• Print the count of vowels in the given string.

## Python3

 `def` `vowel_count(``str``):``    ``# Creating a list of vowels``    ``vowels ``=` `"aeiouAEIOU"``    ` `    ``# Using list comprehension to count the number of vowels in the string``    ``count ``=` `len``([char ``for` `char ``in` `str` `if` `char ``in` `vowels])``    ` `    ``# Printing the count of vowels in the string``    ``print``(``"No. of vowels :"``, count)` `# Driver code``str` `=` `"GeeksforGeeks"` `# Function Call``vowel_count(``str``)`

Output

`No. of vowels : 5`

Time Complexity: O(n), where n is the length of the string.
Auxiliary Space: O(1).

My Personal Notes arrow_drop_up