在 Python 中按行计算文件中单词的出现次数

Count Occurence of Words in a File By Line in Python

所以我是 Python 的新手,我被分配了两个任务。

一个是计算文件中每个单词和单词对的频率,我已经完成了。

另一个任务是按行统计单词和单词对的出现次数 (如果我得到 (x,y) 和 (y,x) 也没关系,因为我们将它们计算为不同的用于此评估)

我想计算单词按行出现的次数,所以在它在一行中找到一个单词后,它的计数为 1,并且不再计算该行中的那个单词。如果它出现在下一行,它将计数为 2,依此类推!

示例: 你好世界 你好猫所有的猫和你好世界上所有的狗 世界是圆的,世界不是平的

我想要 ["hello" , 2]["world", 3] 因为它们分别出现在 2 行和 3 行中 对于成对,它将是 [(hello, world), 2] 因为这些词在同一行中出现两次。

我做了什么: 我有一个逐行循环并标记文件的循环,因此每一行都为我提供了其中所有单词的列表。 我有一个单词和对的字典,但它计算了每一次出现,我不知道如何更改它以不计算它出现在同一行的单词。

感谢任何帮助,谢谢!

有几种方法可以解决这个问题。最好的选择是逐行进行,而不是一次标记所有内容,就好像你做后者一样,你会丢失哪些单词在哪些行中的信息。

最好的解决办法是先删除每个字符串中的所有重复单词。最简单的解决方案是制作一个集合列表。集合只能有唯一的元素,因此如果您尝试向集合添加重复元素,它不会被添加。

一旦你有了每行唯一的集合列表,你就可以遍历所有集合并将单词添加到字典中,键是单词,值是单词出现次数的增量.