English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Контроль потока Python

Функции в Python

Типы данных в Python

Операции с файлами Python

Объекты и классы Python

Даты и время Python

Продвинутые знания Python

Руководство по Python

Программа Python calculates the number of vowels

Полное руководство по примерам 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)

Эта программаВыводкак и выше.

Здесь мы будемсписковпонимание вложенных вВ списке словарей,Рассчитываем гласные в одной строке.

Однако, из-за того, что мы итерируем всю входную строку для каждого гласного, скорость программы медленна.

Полное руководство по примерам Python