在 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] 因为这些词在同一行中出现两次。
我做了什么:
我有一个逐行循环并标记文件的循环,因此每一行都为我提供了其中所有单词的列表。
我有一个单词和对的字典,但它计算了每一次出现,我不知道如何更改它以不计算它出现在同一行的单词。
感谢任何帮助,谢谢!
有几种方法可以解决这个问题。最好的选择是逐行进行,而不是一次标记所有内容,就好像你做后者一样,你会丢失哪些单词在哪些行中的信息。
最好的解决办法是先删除每个字符串中的所有重复单词。最简单的解决方案是制作一个集合列表。集合只能有唯一的元素,因此如果您尝试向集合添加重复元素,它不会被添加。
一旦你有了每行唯一的集合列表,你就可以遍历所有集合并将单词添加到字典中,键是单词,值是单词出现次数的增量.
所以我是 Python 的新手,我被分配了两个任务。
一个是计算文件中每个单词和单词对的频率,我已经完成了。
另一个任务是按行统计单词和单词对的出现次数 (如果我得到 (x,y) 和 (y,x) 也没关系,因为我们将它们计算为不同的用于此评估)
我想计算单词按行出现的次数,所以在它在一行中找到一个单词后,它的计数为 1,并且不再计算该行中的那个单词。如果它出现在下一行,它将计数为 2,依此类推!
示例: 你好世界 你好猫所有的猫和你好世界上所有的狗 世界是圆的,世界不是平的
我想要 ["hello" , 2]["world", 3] 因为它们分别出现在 2 行和 3 行中 对于成对,它将是 [(hello, world), 2] 因为这些词在同一行中出现两次。
我做了什么: 我有一个逐行循环并标记文件的循环,因此每一行都为我提供了其中所有单词的列表。 我有一个单词和对的字典,但它计算了每一次出现,我不知道如何更改它以不计算它出现在同一行的单词。
感谢任何帮助,谢谢!
有几种方法可以解决这个问题。最好的选择是逐行进行,而不是一次标记所有内容,就好像你做后者一样,你会丢失哪些单词在哪些行中的信息。
最好的解决办法是先删除每个字符串中的所有重复单词。最简单的解决方案是制作一个集合列表。集合只能有唯一的元素,因此如果您尝试向集合添加重复元素,它不会被添加。
一旦你有了每行唯一的集合列表,你就可以遍历所有集合并将单词添加到字典中,键是单词,值是单词出现次数的增量.