Programme Python pour compter le nombre de chaque voyelle

Dans ce programme, vous apprendrez à compter le nombre de chaque voyelle dans une chaîne en utilisant la compréhension de dictionnaire et de liste.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation Python suivants:

  • Python pour Loop
  • Chaînes Python
  • Méthodes de chaîne

Code source: utilisation du dictionnaire

 # 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) 

Production

 ('o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3) 

Ici, nous avons pris une chaîne stockée dans ip_str. En utilisant la méthode casefold(), nous la rendons adaptée aux comparaisons sans casse. Fondamentalement, cette méthode renvoie une version en minuscules de la chaîne.

Nous utilisons la méthode du dictionnaire fromkeys()pour construire un nouveau dictionnaire avec chaque voyelle comme clé et toutes les valeurs égales à 0. Il s'agit de l'initialisation du compte.

Ensuite, nous parcourons la chaîne d'entrée en utilisant une boucle for.

A chaque itération, nous vérifions si le caractère est dans les clés du dictionnaire ( Trues'il s'agit d'une voyelle) et incrémentons la valeur de 1 si vrai.

Code source: Utilisation d'une liste et d'une compréhension de dictionnaire

 # 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) 

La sortie de ce programme est la même que ci-dessus.

Ici, nous avons imbriqué une compréhension de liste dans une compréhension de dictionnaire pour compter les voyelles sur une seule ligne.

La compréhension du dictionnaire s'exécute pour tous les caractères de voyelle et la compréhension de liste à l'intérieur de la compréhension de dictionnaire vérifie si des caractères de la chaîne correspondent à cette voyelle particulière.

A la fin, une liste de 1 s est générée pour le numéro de chaque caractère voyelle. La sum()méthode est utilisée pour calculer la somme des éléments de chaque liste.

Cependant, ce programme est plus lent car nous itérons sur toute la chaîne d'entrée pour chaque voyelle.

Articles intéressants...