【发布时间】:2018-09-21 14:40:31
【问题描述】:
我正在尝试计算文件中特定索引下单词的出现次数并将其打印为字典。
def count_by_fruit(file_name="file_with_fruit_data.txt"):
with open(file_name, "r") as file:
content_of_file = file.readlines()
dict_of_fruit_count = {}
for line in content_of_file:
line = line[0:-1]
line = line.split("\t")
for fruit in line:
fruit = line[1]
dict_of_fruit_count[fruit] = dict_of_fruit_count.get(fruit, 0) + 1
return dict_of_fruit_count
print(count_by_fruit())
输出:{'apple': 6, 'banana': 6, 'orange': 3}
我得到了这个输出,但是,它没有正确计算单词的频率。在四处寻找之后,我似乎没有找到合适的解决方案。谁能帮我找出我的错误?
我的文件有以下内容:(数据用制表符分隔,示例中放“\t”,因为stackoverflow正在更改格式)
- 我是 2018 年 \t apple \t 的第一行
- 我是 2017 年的 \t 橙色 \t 的第二行
- 我是 2016 年 \t apple \t 的第三行
- 我是 2010 年的 \t 香蕉 \t 第四行
- 我是 1999 年的 \t 香蕉 \t 的第 5 行
【问题讨论】:
-
感谢您的及时答复!你是对的,这可能是我潜在的朋友,不过,我正在寻找一个答案,可以指出我的逻辑为什么不正确以及导致它打印出异常值的原因,所以,我可以找出正确的解决方案
-
好吧,如果您想要找出错误,您需要按照指南生成Minimal,Complete and Verifiable example
-
我无法点击您的链接,因为该页面不存在,但我使用了最小(希望)、完整和可验证的示例以及我正在尝试的文件示例编辑了我的问题遍历:)
-
你能澄清一下标签在每一行中的确切位置吗?
标签: python-3.x dictionary