import string
alice = open('alice_in_wonderland.txt')
di={}.fromkeys(string.ascii_letters,0)
for word in alice:
di[word[0]]+=1
print di
我想写一个程序,通过一个文本文件,生成多少个以字母a开头的单词。。b、 。。。c、 是的。。等。。我得到一个错误,我不知道这意味着什么。你知道吗
Traceback (most recent call last):
File "C:/Users/Andy/Downloads/counting_letters.py", line 5, in
di[word[0]]+=1
KeyError: ' '
有人能告诉我怎么解决这个问题吗?你知道吗
KeyError
表示键' '
不在词典中。你知道吗word[0]
是' '
(空格字符)。你知道吗你确定吗
实际上是重复单词?你知道吗
就像@JacobKrall说的,这样做:
迭代行,而不是单词。如果你碰巧每行有一个单词,你的方法可能会奏效,但唉。你知道吗
试着使用
collection.Counter
而不是滚动你自己的计数器。你知道吗或者,如果您的输入文件非常庞大(在您的情况下不是),并且禁止将其全部读入内存,则另一种形式是:
同样有效。你知道吗
相关问题 更多 >
编程相关推荐