Python-Programm zum Zählen der Anzahl jedes Vokals

In diesem Programm lernen Sie, die Anzahl der einzelnen Vokale in einer Zeichenfolge mithilfe des Wörterbuchs und des Listenverständnisses zu zählen.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Python-Programmierthemen kennen:

  • Python für Loop
  • Python-Strings
  • String-Methoden

Quellcode: Verwenden des Wörterbuchs

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

Ausgabe

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

Hier haben wir einen in ip_str gespeicherten String genommen. Mit dieser Methode casefold()machen wir sie für Vergleiche ohne Gehäuse geeignet. Grundsätzlich gibt diese Methode eine Kleinbuchstabenversion der Zeichenfolge zurück.

Wir verwenden die Wörterbuchmethode, fromkeys()um ein neues Wörterbuch mit jedem Vokal als Schlüssel und allen Werten gleich 0 zu erstellen. Dies ist die Initialisierung der Zählung.

Als nächstes durchlaufen wir die Eingabezeichenfolge mit einer for-Schleife.

In jeder Iteration prüfen wir, ob sich das Zeichen in den Wörterbuchschlüsseln befindet ( Truewenn es sich um einen Vokal handelt) und erhöhen den Wert um 1, wenn er wahr ist.

Quellcode: Verwenden einer Liste und eines Wörterbuchverständnisses

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

Die Ausgabe dieses Programms ist die gleiche wie oben.

Hier haben wir ein Listenverständnis in ein Wörterbuchverständnis verschachtelt, um die Vokale in einer einzelnen Zeile zu zählen.

Das Wörterbuchverständnis wird für alle Vokalzeichen ausgeführt, und das Listenverständnis innerhalb des Wörterbuchverständnisses prüft, ob Zeichen in der Zeichenfolge mit diesem bestimmten Vokal übereinstimmen.

Am Ende wird eine Liste mit 1 s für die Nummer jedes Vokalzeichens generiert. Die sum()Methode wird verwendet, um die Summe der Elemente für jede Liste zu berechnen.

Dieses Programm ist jedoch langsamer, da wir für jeden Vokal die gesamte Eingabezeichenfolge durchlaufen.

Interessante Beiträge...