用Python编写函数names_letters(L),函数参数L为一个列表,每个元素是一个英文名字(长度大于0),返回一个列表,每个元素对应于名字中出现的不同字母(a-z)数量。例如names_letters(['Anna', 'alice', 'Emily', 'oooz'])返回[2, 5, 5, 2]
时间: 2023-07-16 16:12:23 浏览: 89
python 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 (示例)
5星 · 资源好评率100%
可以使用Python的字典来实现,遍历每个名字,将每个字母出现的次数计入字典中,最后返回字典中不同字母的数量即可。以下是代码实现:
```python
def names_letters(L):
res = []
for name in L:
count = {}
for letter in name.lower():
if letter.isalpha():
count[letter] = count.get(letter, 0) + 1
res.append(len(count))
return res
```
首先定义一个空列表res,遍历参数列表L中的每个名字name。定义一个空字典count,用于统计每个字母出现的次数。遍历名字中的每个字母letter,如果是字母则将其转换为小写,然后在字典count中对应的键值上加1,如果该字母还未出现,则在字典中新增该键并将值设为1。最后将字典中键的数量(即不同字母的数量)添加到res中。最后返回res即可。
阅读全文