【发布时间】:2022-01-21 06:24:34
【问题描述】:
当我使用此函数按数值降序对元组列表进行排序时:
data.sort(key=lambda tup: tup[1], reverse=True)
我的列表中有这样的元组顺序:
data = [("a", 8001),
("b", 8000),
("c", 8),
("d", 10)]
它是按字母排序的,而不是数字。 8 > 10,因为 8 大于 10 的第一个字母,即 1。
如何按数字降序对元组列表进行排序?
【问题讨论】:
-
您的代码看起来不错?您在排序到位后检查
data的顺序以检查它是否有效? -
你确定你有整数,而不是字符串“8001”、“8000”、“8”和“10”吗?字符串不是整数,它们的排序方式不同。
标签: python list sorting tuples