我在这方面是新手,读了很多文章,但还是搞不懂。我正在尝试从这个tsv文件创建一个字典:
fname lname marks
Alice Brown 8.5
Francine Walters 9
Robert Wilson 7
Evelyn Stewart 10
Margo Kazinsky 9.5
Gordon Rogers 8.5
Stephanie Hoover 9
Roger Brosnan 8.7
Francine Williamson 9
Leonard Runka 8
Rosalind Samuelson 6.5
Sasha Levchenko 8
Anastasia Melnyk 8.5
Charlie Watson 8
我不知道如何把它们编入词典并返回成绩最高的学生的名字。到目前为止,我一直在努力:
^{2}$
您希望在您想要构建的字典中成为键?你说得不太清楚。假设它是
firstname, lastname
2-items元组,例如:当然,您需要确保正确的分隔符:“tsv”似乎暗示分隔符是一个制表符,您显示的数据的外观也是如此,但您已经明确地将其强制为逗号(在本例中,我使用的是tab,但是,请确保查看文件的内容并选择正确的分隔符)。在
另外,根据OP对这个答案的注释(以及Q中显示的数据),文件的第一行可能只是头,而不是数据;因此,我添加了
next(f)
来跳过它(如果文件实际上全部由实际数据组成,没有头行,则删除它)。在现在
^{pr2}$d
就是你要找的格言。寻找成绩最高的学生,例如:不管怎样,我认为使用
csv.DictReader
会更容易一些:输出:
^{pr2}$找到成绩最高的学生有点困难,因为如果打成平手,可能不止一个。下面是如何处理的方法(注意:出于测试目的,我在文件中添加了另一个学生行):
以及以下代码行:
要获得以下输出:
相关问题 更多 >
编程相关推荐