包含python字典的函数

时间:2019-11-17 21:38:09

标签: python dictionary

这是我的任务: 编写一个名为count_letters的函数,该函数将字符串作为参数并返回一个字典,该字典列出该字符串中每个字母的数量。该字符串可以包含字母以外的其他字符,但仅应计算字母。该字符串甚至可以是空字符串。字母的小写和大写版本应属于同一计数。字典的键应为大写字母。如果字母未出现在字符串中,则不会将其添加到字典中。例如,如果字符串为

“ AaBb” 那么返回的字典应包含以下键值对:

{'A':2,'B':2}

这是我的代码:

def count_letters(string):
    d = dict()
    for x in string:
        if x not in d:
            d[x]= 0
        else:
            d[x] += 1
    return d

它没有在字符串中返回正确的数字。知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

作业表明只应计算字母,但您要计算所有内容。

作业指出,字母的大小写应该一并计算,但是您不映射大小写。

创建新的词典条目时,它应以1开头以计算当前元素,而不是0

import char

def count_letters(string):
    d = dict()
    for x in string:
        if char.isalpha(x): # only count letters
            x = x.upper() # Convert lowercase to uppercase equivalent
            if x not in d:
                d[x]= 1
            else:
                d[x] += 1
    return d