Python按整数排序元组

时间:2016-03-28 19:58:43

标签: python

我正在python中构建一个高分表。 它是一个元组,每个输入都是名称+分数。

示例:

Highscore = [(1000,"Carl"), (945,"Eric"), (883,"Beta"), (823,"Alpha")]

当有人得到更好的分数时,我想添加他们的分数和名字:

Highscore = [(1000,"Carl"), (945,"Eric"), (883,"Beta"), (823,"Alpha"),(NEWSCORE),(NEWNAME)]

然后对其进行排序,以便最高得分位于顶部。这是错误发生的地方,输出不按最高分数排序......

我已尝试Highscore.sort(reverse=True)sorted(Highscore,key=lambda tup: tup[1])

Highscore.sort按字母顺序排序并排序后出现以下错误:TypeError: unorderable types: tuple() < list()

2 个答案:

答案 0 :(得分:3)

您没有在高分榜中添加元组,而是列表。尝试将一个元组添加到Highscore然后排序:

Highscore = [(1000,"Carl"), (945,"Eric"), (883,"Beta"), (823,"Alpha")]
Highscore.append((score, name))
Highscore.sort(reverse=True)

答案 1 :(得分:0)

我认为问题在于您需要将新值添加为单个元组。

你有什么:

Highscore.append((NEWSCORE),(NEWNAME))

你应该拥有什么:

Highscore.append((NEWSCORE, NEWNAME))

如果你这样做,Highscore.sort(reverse=True)应该可以做到。