Python | Contar y mostrar las vocales en una string

En este programa, necesitamos contar el número de vocales presentes en una string y mostrar esas vocales. Esto se puede hacer usando varios métodos. En este artículo, repasaremos algunos de los métodos populares para hacer esto de manera eficiente. 
Ejemplos: 
 

In a simple way
Input : Geeks for Geeks
Output :
5
['e', 'e', 'o', 'e', 'e']

This is in a different way
Input : Geeks for Geeks
Output : {'u': 0, 'o': 1, 'e': 4, 'a': 0, 'i': 0}

Contar vocales: String Way

En este método, almacenaremos todas las vocales en una string y luego seleccionaremos cada carácter de la string consultada y verificaremos si está en la string de vocales o no. La string de vocales consta de todas las vocales con ambos casos ya que no estamos ignorando los casos aquí. Si se encuentra la vocal, el conteo se incrementa y se almacena en una lista y finalmente se imprime. 
 

Python3

# Python code to count and display number of vowels
# Simply using for and comparing it with a
# string containing all vowels
def Check_Vow(string, vowels):
    final = [each for each in string if each in vowels]
    print(len(final))
    print(final)
     
# Driver Code
string = "Geeks for Geeks"
vowels = "AaEeIiOoUu"
Check_Vow(string, vowels);

Producción: 
 

5
['e', 'e', 'o', 'e', 'e']

Contar vocales: Dictionary Way

Esto también realiza la misma tarea pero de una manera diferente. En este método, formamos un diccionario con las vocales y las incrementamos cuando encontramos una vocal. En este método, usamos el método case fold para ignorar los casos, después de lo cual formamos un diccionario de vocales con la clave como vocal. Esta es una forma mejor y más eficiente de verificar y encontrar el número de cada vocal presente en una string. 
 

Python3

# Count vowels in a different way
# Using dictionary
def Check_Vow(string, vowels):
     
    # casefold has been used to ignore cases
    string = string.casefold()
     
    # Forms a dictionary with key as a vowel
    # and the value as 0
    count = {}.fromkeys(vowels, 0)
     
    # To count the vowels
    for character in string:
        if character in count:
            count[character] += 1   
    return count
     
# Driver Code
vowels = 'aeiou'
string = "Geeks for Geeks"
print (Check_Vow(string, vowels))

Producción: 
 

{'u': 0, 'o': 1, 'e': 4, 'a': 0, 'i': 0}

 Contando vocales: forma regular 

También podemos utilizar este método para realizar esta tarea. Podemos usar la expresión regular para realizar esta tarea. Usamos el método re.findall() para encontrar todas las vocales en la lista de creación de strings con ellas. Usamos len on list para encontrar el total de vocales en una string. 

Python3

import re
# Count vowels in a different way
# Using re.findall
def Check_Vow(string, vowels):
     
    # Using re.findall in string
    str_list = re.findall(f'[{vowels}]', string, re.I)
     
    # printing length of string
    print(len(str_list))
     
    # Returnig the list of matched element
    return str_list
     
# Driver Code
vowels = 'aeiou'
string = "Geeks for Geeks"
print (Check_Vow(string, vowels))

Producción:

5
['e', 'e', 'o', 'e', 'e'] 

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *