Nov*_*mer 2 python dictionary character histogram python-3.x
我试图计算字母出现并打印出来.这是我到目前为止:
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'))
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我在这条线上遇到错误.我该如何正确打印?
编辑:解决我的Martijn!道具!但有谁知道如何按字母顺序对字典进行排序?
d
是字典,而不是列表.循环键:
for key in d:
print('{} | {}'.format(key, d[key]))
Run Code Online (Sandbox Code Playgroud)
或者你会得到KeyError
例外.
你可能对这collections.Counter()
堂课感兴趣; 这是一个计数词典:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3063 次 |
最近记录: |