我有三个数组,如下所示:
users
-包含50000个用户的id(全部不同)pusers
-包含拥有一些帖子的用户的id(也包含重复的id,也就是说,一个用户可以拥有多个帖子)[50000个值]score
-包含与puser中每个值对应的分数。[50000个值]现在我想根据下面的计算填充另一个数组PScore
。对于pusers
中users
的每个值,我需要获取相应的score
,并将其添加到与user
对应的索引中的PScore
数组中。在
例如
if users[5] = 23224
and pusers[6] = pusers[97] = 23224
then PScore[5] += score[6]+score[97]
注意事项:
score
与pusers
相关(例如,pusers[5]
有{PScore
预计与users
相关(例如,users[5]
的累积分数是Pscore[5]
)score
。在有人能帮我吗?我试了很多次,但是一旦我运行了不同的测试,输出屏幕一直是空白的,直到我离开。在
我浏览了下面所有的帖子,但是我不能有效地将它们用于我的场景。在
我是这个论坛的新手,也是Python的初学者。任何帮助对我都会很有用的。在
好吧,我知道我的方法有问题。那么我不应该在这个场景中使用列表吗?有谁能告诉我该怎么做吗?在
我得到的数据示例如下所示。在
^{pr2}$我想要的就是每个用户的总分。同样,pusers列表包含重复,而users列表包含唯一值。我需要以这样一种方式存储与每个用户相关联的总分,如果我说PScore[6]
,它应该指与User[6]
相关联的总分。在
希望我能回答你的问题。在
提前谢谢。在
我认为你的算法要么错了要么坏了。 试着计算它的复杂性。如果是
N^2
或更多,则可能使用了效率低下的算法。O(N^2)
包含50000个元素应该需要几秒钟的时间。O(N^3)
可能需要几分钟。 如果你确定你的方法,试着用一些小的假数据运行它,看看它是否正确,或者是否意外地添加了一些无限循环。在你可以很容易地让它在线性时间内使用字典。在
因为你使用的python和你的字典里的数组看起来很完美。在
您应该能够制作一个字典,将用户id映射到分数,而不是将一个数组用于post owner和另一个数组用于post score。当你接收数据时,查一下字典看看这个用户是否已经存在。如果是,则将分数加到当前分数中。如果没有,请重新输入。当你循环浏览所有数据时,你应该有一个从用户id映射到总分的字典。在
http://docs.python.org/2/tutorial/datastructures.html#dictionaries
相关问题 更多 >
编程相关推荐