从多个文件计数字符串(新闻源活动)

时间:2018-05-25 10:16:10

标签: python string file dictionary count

我的程序旨在打印那些看过最多'推文的热门 n 用户。他们会看到多少。一条看到的推文被定义为来自他们关注的用户的推文,当他们在推文,DM中被提及(@user)或作为转推的推文的作者时。

使用虚拟文件(follows.txt):

andrew fred
fred
judy andrew fred
george judy andrew
john george

第一个单词是用户,其中字符串中的其余单词是他们关注的人

用于确定每个用户关注对象的代码片段:

for line in lines:
    names = line.split()
    follow_dict[names[0]] = len(names)-1
    if max_follower < len(names)-1:
        max_follower = len(names)-1

使用第二个虚拟文件(stream.txt)显示常规活动:

andrew I hate mondays.
fred Python is cool.
fred Ko Ko Bop Ko Ko Bop Ko Ko Bop for ever
andrew @fred no it isn't, what do you think @john???
judy @fred enough with the k-pop
judy RT @fred Python is cool.
andrew RT @judy @fred enough with the k pop
george RT @fred Python is cool.
andrew DM @john Oops
john DM @andrew Who are you go away! Do you know him, @judy?

代码的示例输出应该是:

Enter n: 10
6 judy
5 fred george
3 andrew john

通常,如果我在这里寻求帮助,我至少会有一些代码来表明它是有效的,但不是完全按照预期或有错误。这次我甚至都不知道从哪里开始。如果有人可以帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我认为你可以通过这种方式解决问题(从每个用户那里开始计算他们看到的推文),但效率太低(这可能不是推特的做法)。这是另一种方式:

  1. 对跟随者做出相反的决定:对于跟随她的每个用户
  2. 相同的dict可以存储每个用户看到的推文数
  3. 每条推文
  4. ,更新点数