Python读取文件,summing upp s

2024-05-08 00:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含多行的文件。形式如下:

Name2 lastname2 0\n                             
Name1 lastname1 1\n           
Name2 lastname2 2\n                 
...
...
...

文件包含相同的名称很多次之后的数字就是一个分数。你知道吗

我想为一个人加上所有的分数,然后输出总分最高的那一个。我得到一个提示:

Read each line and split the line in name and score. Then use a dictonary to map to the points.

我可以把它分开,但我看不出字典有什么用?有人能解释一下,并做一个映射的例子吗。(不是回答而是理解)。你知道吗


Tags: and文件theto名称readline数字
2条回答

作为对das-g答案的补充:最后,用这个找到得分最高的条目。你知道吗

..
d = {'name1':1, 'name2':2}
max_value = max(d.values())
for key, value in d.iteritems():
    if value == max_value:
        print key
...

可能提示希望您在循环行时(或在逐行阅读时)将分数相加,并在字典中记录分数,如下所示:

  • 有一个(最初是空的)字典将人(以全名标识)映射到一个分数。你知道吗
  • 然后,对于每一行:
    • 如果这一行的人已经在字典里了,就把这一行的分数加到这个人已有的分数上。你知道吗
    • 否则,把这一行中的人物和分数输入字典中的一个新词条。你知道吗

相关问题 更多 >