【发布时间】:2013-02-04 03:52:50
【问题描述】:
我想要做的是从文件中读取,然后对于每个单词,将其连同其出现次数一起附加到字典中。
示例:
'今天是星期天。明天不是星期天。'
我的字典会是这样的: {'今天':1,'是':2,'星期日':2,'明天':1,'不':1}
我的方法是使用 readline 和 split 创建一个列表,然后将每个元素及其值附加到一个空字典中,但到目前为止它并没有真正起作用。这是我到目前为止所拥有的,虽然它不完整:
file = open('any_file,txt', 'r')
for line in file.readline().split():
for i in range(len(line)):
new_dict[i] = line.count(i) # I'm getting an error here as well, saying that
return new_dict # I can't convert int to str implicitly
这样做的问题是,当我的字典在读取每一行时更新时,单词的值不会累积。因此,如果在另一行 'sunday' 出现 3 次,我的字典将包含 {'sunday': 3} 而不是 {'sunday': 5}。有什么帮助吗?我不知道从这里去哪里,而且我对这一切都很陌生。
【问题讨论】:
-
另一个问题是,如果“sunday”在一行中出现 3 次,你就在做
line.count("sunday")3 次,这是浪费
标签: python file dictionary