计算字符串中字母的频率

时间:2014-10-14 00:07:50

标签: python-3.x

到目前为止,这就是我所拥有的,这将打印出一个列表,其中包含字符串中每个字母的计数。它只检查小写字母。

`S="""Four score and seven years ago our fathers brought forth on this continent a new nation
Now we are engaged in a great civil war
"""
lowlet = S.lower()
L_count = [0]*26
total_count = 0
alpha = "abcdefghijklmnopqrstuvwxyz"
i = 0
while i < len(lowlet):
    if lowlet[i] in alpha:
        L_count[i][ord(lowlet[i]) - 97] += 1
        total_count += 1
    i += 1
print('total count of letters:',total_count)'

现在我给这个算法,但我不能把它放入代码,我不能使用for循环我必须使用while循环 初始化列表L_freq。 对于每个元素,计数,在L_counts中     找到与此计数对应的字母     在L_freq中插入,列表:[count,letter]

1 个答案:

答案 0 :(得分:0)

要求它是一个列表吗?我觉得字典会更容易处理

sentence = s.lower()
counts = { letter: sentence.count(letter) for letter in alpha }
print(counts)

这将打印如下: {'a': 5, 'b': 2}