Python 计算字母出现次数

2023-12-10

我正在尝试计算字母的出现次数并打印它们。这是我到目前为止所拥有的:

def histogram(L):
    d = {}
    for x in L:
      for letter in x:
        if letter in d:
          d[letter] += 1
        else:
          d[letter] = 1
    for i in range(len(d)):
      print('{} | {}'.format(d, d[i])) # GETTING ERRORS ON THIS LINE
    return d
histogram(open('cipher.txt'))

由于某种原因,我在那条线上遇到了错误。我该如何正确打印它?

编辑:解决方案我的马丁!道具!但有人知道如何按字母顺序对字典进行排序吗?


d is a 字典,不是一个列表。循环按键:

for key in d:
    print('{} | {}'.format(key, d[key]))

或者你会得到KeyError例外情况。

您可能感兴趣collections.Counter() class;这是一本计数词典:

from collections import Counter

def histogram(L):
    d = Counter(letter for line in L for letter in x)
    for letter in d:
        print('{} | {}'.format(letter, d[letter]))
    return d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 计算字母出现次数 的相关文章

随机推荐