有什么区别
mylist = reversed(sorted(mylist))
Run Code Online (Sandbox Code Playgroud)
VS
mylist = sorted(mylist, reverse=True)
Run Code Online (Sandbox Code Playgroud)
为什么一个用于另一个?
如何在多列上进行稳定排序,例如
mylist.sort(key=itemgetter(1))
mylist.sort(key=itemgetter(0))
mylist.reverse()
Run Code Online (Sandbox Code Playgroud)
这是一样的
mylist.sort(key=itemgetter(1), reverse=True)
mylist.sort(key=itemgetter(0), reverse=True)
Run Code Online (Sandbox Code Playgroud)
?
Ign*_*ams 20
你已经找到了完全不同的东西.由于Timsort是稳定的,因此在反向排序而不是排序排序将使未排序的元素保持相反的顺序.
>>> s = ((2, 3, 4), (1, 2, 3), (1, 2, 2))
>>> sorted(s, key=operator.itemgetter(0, 1), reverse=True)
[(2, 3, 4), (1, 2, 3), (1, 2, 2)]
>>> list(reversed(sorted(s, key=operator.itemgetter(0, 1))))
[(2, 3, 4), (1, 2, 2), (1, 2, 3)]
Run Code Online (Sandbox Code Playgroud)