python 中未按数字排序的元组列表
List of tuples not sorted numerically in python
当我使用此函数按数值降序对元组列表进行排序时:
data.sort(key=lambda tup: tup[1], reverse=True)
我的列表中有这样的元组顺序:
data = [("a", 8001),
("b", 8000),
("c", 8),
("d", 10)]
它按字母而不是数字排序。 8 > 10 因为 8 大于 10 的第一个字母 1.
如何按数字降序对元组列表进行排序?
原始代码工作正常
>>> data = [("a", 8001),
... ("b", 8000),
... ("c", 8),
... ("d", 10)]
>>>
>>> data
[('a', 8001), ('b', 8000), ('c', 8), ('d', 10)]
>>> data.sort(key=lambda tup: tup[1], reverse=True)
>>>
>>> data
[('a', 8001), ('b', 8000), ('d', 10), ('c', 8)]
当我使用此函数按数值降序对元组列表进行排序时:
data.sort(key=lambda tup: tup[1], reverse=True)
我的列表中有这样的元组顺序:
data = [("a", 8001),
("b", 8000),
("c", 8),
("d", 10)]
它按字母而不是数字排序。 8 > 10 因为 8 大于 10 的第一个字母 1.
如何按数字降序对元组列表进行排序?
原始代码工作正常
>>> data = [("a", 8001),
... ("b", 8000),
... ("c", 8),
... ("d", 10)]
>>>
>>> data
[('a', 8001), ('b', 8000), ('c', 8), ('d', 10)]
>>> data.sort(key=lambda tup: tup[1], reverse=True)
>>>
>>> data
[('a', 8001), ('b', 8000), ('d', 10), ('c', 8)]