首页 > 解决方案 > 编写一个函数,将 dict 作为输入并返回元音的数量

问题描述

我现在一直在尝试解决这个问题,但我现在很困惑。有人可以告诉我一步一步的解决方案或解决这个问题的方法吗?

编写一个函数,将 dict 作为其输入并返回 dict 的字符串键中包含的元音的数量。对于本练习,您可以将元音视为字母“a”、“e”、“i”、“o”或“u”。我想一个例子是 count_dict_vowels({"Here": "Now", "When": "Python"}) == 3

标签: pythonpython-3.x

解决方案


你没有指定你希望输出的样子,所以我创建了一个新字典,它具有相同的键,但元音的数量作为值。

这里的“技巧”是利用map()str方法count()并对所有值求和。

vowels = ['a', 'e', 'i', 'o', 'u']

sample_dict = {
    'abc': 'xyz',
    'ee': 'xyz',
    'aei': 'xyz',
    'uuu': 'xyz'
}

output_dict = {
    key: sum(map(key.count, vowels)) for key in sample_dict
}

给出输出:

{'abc': 1, 'ee': 2, 'aei': 3, 'uuu': 3}

推荐阅读