我将如何调整这段代码,以从最高->最低,而不是最低->最高排序

时间:2019-01-14 11:55:36

标签: python python-3.x

我需要以某种方式将这段代码从“最小->最高”输出更改为“最高->最小”。

代码:

scores = []
with open("scoreboard.txt") as f:
    for line in f:
        name, score = line.split(',')
        score = int(score)
        scores.append((name, score))

scores.sort(key=lambda s: s[2])

for name, score in scores:
    print(name, score, sep=', ')

文本文件内容:

Ben, 12
Ben, 6
Ben, 3
Ben, 21
Ben, 1

我希望它如何输出:

Ben, 1
Ben, 3
Ben, 6
Ben, 12
Ben, 21

2 个答案:

答案 0 :(得分:1)

使用“反向”关键字。

scores.sort(key=lambda s: s[2], reverse=True)

或者:

scores.sort(key=lambda s: -s[2])

答案 1 :(得分:0)

您可以使用reverse功能的sort kwarg。 将其设置为True将颠倒您的列表。