English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此程序中,您将学习使用字典和列表理解来计算字符串中每个元音的数量。
要理解此示例,您应该了解以下Python编程主题:
#Python-Programm berechnet die Anzahl jedes Vokals #Vokalzeichenfolge vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' #Verwende den casefold-Verfahren, um alle Großbuchstaben im String in Kleinbuchstaben zu konvertieren. ip_str = ip_str.casefold() #Verwende jeden Vokal als Schlüssel und 0 als Wert count = {}.fromkeys(vowels,0) #Zähle die Anzahl der Vokale for char in ip_str: if char in count: count[char] += 1 print(count)
Ergebnis der Ausgabe
{'o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3}
Hier haben wir einen String in ip str gespeichert. Mit dem casefold()-Verfahren machen wir es für nicht-groß- und kleinschreibungsunabhängige Vergleiche geeignet. Grundsätzlich gibt dieses Verfahren die kleine Version des Strings zurück.
Wir verwenden die Datenbankmethode fromkeys(), um einen neuen Datenbank zu konstruieren, bei dem jeder Vokal der Schlüssel ist und alle Werte 0 sind. Dies ist die Initialisierung der Zählung.
Kommen wir darauf zurück,for-Schleifedurchsuchen die Eingabezeichenfolge.
In jeder Iteration überprüfen wir, ob das Zeichen im Datenbankschlüssel enthalten ist (wenn es ein Vokal ist, dann True), und erhöhen den Wert, wenn es True ist1。
#Verwendung von Datenbanken und Listenverstand ip_str = 'Hello, have you tried our tutorial section yet?' #Macht es für nicht-groß- und kleinschreibungsunabhängige Vergleiche geeignet ip_str = ip_str.casefold() #Vokale berechnen count = {x:sum([1 for char in ip_str if char == x]) for x in 'aeiou'} print(count)
Das ProgrammAusgabemit denen oben genannten identisch.
Hier werden wirListeVerstehen Sie die inIn der Liste der Datenbanken,Um die Vokale in einer Zeile zu berechnen.
Allerdings ist die Geschwindigkeit dieses Programms langsamer, da wir die gesamte Eingabezeichenfolge für jeden Vokal iterieren.