如何在以元组为键的字典中累加对应元音统计值?
统计字母列表中的元音数量(大小写合并计数)
按照需求补全并优化代码,实现接收字母列表、合并大小写元音统计数量的功能,全程不使用字符串或列表方法:
def vowels_count(letters): vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] frequent = {('a', 'A'): 0, ('e', 'E'): 0, ('i', 'I'): 0, ('o', 'O'): 0, ('u', 'U'): 0} for i in letters: if i in vowels: # 遍历字典的元组键,匹配当前元音字符 for key in frequent: if i in key: frequent[key] += 1 break # 转换为小写元音为键的结果格式(可选,按需保留) return {key[0]: val for key, val in frequent.items()}
代码说明:
- 用
vowels列表快速判断字符是否为元音,满足不能用字符串/列表方法的限制 - 字典
frequent以元组为键关联大小写元音,初始计数设为0 - 遍历输入列表时,若字符是元音,逐个检查字典的元组键,找到包含该字符的键后给对应计数加1,找到后立即跳出循环提升效率
- 最后将结果转换为小写元音作为键的字典,输出更直观
测试示例:
# 测试输入 print(vowels_count(['a', 'E', 'i', 'O', 'U', 'b', 'C', 'a'])) # 输出结果:{'a': 2, 'e': 1, 'i': 1, 'o': 1, 'u': 1}
内容的提问来源于stack exchange,提问作者Miller25
相关产品推荐
相关产品推荐

