En este programa, aprenderá a contar el número de cada vocal en una cadena usando la comprensión del diccionario y la lista.
Para comprender este ejemplo, debe tener conocimiento de los siguientes temas de programación de Python :
- Python para Loop
- Cuerdas de pitón
- Métodos de cadena de Python
Código fuente: uso del diccionario
# Program to count the number of each vowels
# string of vowels
vowels = 'aeiou'
ip_str = 'Hello, have you tried our tutorial section yet?'
# make it suitable for caseless comparisions
ip_str = ip_str.casefold()
# make a dictionary with each vowel a key and value 0
count = {}.fromkeys(vowels,0)
# count the vowels
for char in ip_str:
if char in count:
count[char] += 1
print(count)
Ejecutar código
Salida
{'o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3}
Aquí, hemos tomado una cadena almacenada en ip_str . Usando el método
casefold()
, lo hacemos adecuado para comparaciones sin caso. Básicamente, este método devuelve una versión en minúsculas de la cadena.
Utilizamos el método del diccionario
fromkeys()
para construir un nuevo diccionario con cada vocal como clave y todos los valores iguales a 0. Esta es la inicialización de la cuenta.
Luego, iteramos sobre la cadena de entrada usando un bucle for .
En cada iteración, verificamos si el carácter está en las teclas del diccionario (
True
si es una vocal) e incrementamos el valor en 1 si es verdadero.Código fuente: uso de una lista y una comprensión del diccionario
# Using dictionary and list comprehension
ip_str = 'Hello, have you tried our tutorial section yet?'
# make it suitable for caseless comparisions
ip_str = ip_str.casefold()
# count the vowels
count = {x:sum([1 for char in ip_str if char == x]) for x in 'aeiou'}
print(count)
Ejecutar código
La salida de este programa es la misma que la anterior.
Aquí, hemos anidado una comprensión de lista dentro de una comprensión de diccionario para contar las vocales en una sola línea.
Sin embargo, este programa es más lento a medida que iteramos sobre toda la cadena de entrada para cada vocal.
0 Comentarios
Dejanos tu comentario para seguir mejorando!