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)
该程序的输出与上面的相同。
在这里,我们将列表理解嵌套在字典列表中,以在一行中计算元音。
但是,由于我们迭代每个元音的整个输入字符串,因此该程序的速度较慢。