English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Полное руководство по примерам Python
В этом примере вы научитесь использовать словари и понимание списков для вычисления количества гласных в строке.
Чтобы понять этот пример, вы должны знать следующееПрограммирование на PythonТема:
#Python программа подсчитывает количество каждого гласного #Строка гласных vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' #Использовать метод casefold, чтобы преобразовать все заглавные буквы в строке в строчные ip_str = ip_str.casefold() #Использовать словарь с каждым гласным в качестве ключа и значением 0 count = {}.fromkeys(vowels, 0) #Счет числа гласных for char in ip_str: if char in count: count[char] += 1 print(count)
Результат вывода
{'o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3}
Здесь мы берем строку, хранящуюся в ip_str. Используя метод casefold(), мы делаем его подходящим для сравнения без учета регистра. В принципе,该方法 возвращает строчную версию строки.
Используя метод fromkeys() мы строим новый словарь, где каждый гласный является ключом, а все значения равны 0. Это инициализация счета.
Далее, мы используемЦикл forПроходимся по входной строке.
В каждом итерации мы проверяем, находится ли символ в ключе словаря (если это гласный, то True), и если True, то увеличиваем значение на 1.
#Использование словарей и списков с помощью понимания ip_str = 'Hello, have you tried our tutorial section yet?' #Сделать подходящим для сравнения без учета регистра ip_str = ip_str.casefold() #Счет гласных count = {x: sum([1 for char in ip_str if char == x]) for x in 'aeiou'} print(count)
Эта программаВыводкак и выше.
Здесь мы будемсписковпонимание вложенных вВ списке словарей,Рассчитываем гласные в одной строке.
Однако, из-за того, что мы итерируем всю входную строку для каждого гласного, скорость программы медленна.