2024-06-16 10:21:08 发布
网友
我必须将一个文件按人们获得的最高分数进行排序,并将其排序后的版本显示在python中。 我当前的文件是这样的。在
Bob: 0 /10 Bob: 1 /10 Jane: 9 /10 Drake: 5 /10 Dan: 4 /10 Josh: 1 /10 Dan: 5 /10 (excluding the empty lines)
如何在python上进行排序和显示?在
您需要编写代码来一次一行读取文件,跳过任何空行,并将三个有趣的部分分开。这可以使用一个正则表达式来完成,该表达式能够从每一行提取名称、标记和总计到一个元组中。在
所以对于每一行,你会得到一个元组,看起来像:
('Bob', '1', '10')
然后将这个元组追加到一个名称列表中。然后可以对该列表进行排序。在您的示例中,所有结果都是满分10。但是如果20个里面有一个呢?在
以下是一种可能的方法:
这将显示以下内容:
Jane - 9 out of 10 Drake - 5 out of 10 Dan - 5 out of 10 Dan - 4 out of 10 Bob - 1 out of 10 Josh - 1 out of 10 Bob - 0 out of 10
如果您有一个filegrades:
grades
lines = grades.read().splitlines() lines.sort(key=lambda line: int(line.split()[1])) for line in lines: print line
您需要编写代码来一次一行读取文件,跳过任何空行,并将三个有趣的部分分开。这可以使用一个正则表达式来完成,该表达式能够从每一行提取名称、标记和总计到一个元组中。在
所以对于每一行,你会得到一个元组,看起来像:
然后将这个元组追加到一个名称列表中。然后可以对该列表进行排序。在您的示例中,所有结果都是满分10。但是如果20个里面有一个呢?在
以下是一种可能的方法:
^{pr2}$这将显示以下内容:
如果您有一个file
grades
:相关问题 更多 >
编程相关推荐