如何对由(int,string(对组成的列表进行排序,按int降序,按字符串升序?
您可以将sorted
与自定义key
参数一起使用。在这种情况下,否定int
将导致下降行为,然后离开str
这将导致上升行为。将它们放在元组中将允许字典排序行为,如果第一个键(int
(相同。
>>> data = [(1, 'hello'), (7, 'bar'), (4, 'foo'), (4, 'world')]
>>> sorted(data, key=lambda i: (-i[0], i[1]))
[(7, 'bar'), (4, 'foo'), (4, 'world'), (1, 'hello')]