我正在尝试对元组列表进行排序。
tuples.sort(key=lambda tup: tup[-1])
我正在调用函数
def sort_last(tuples):
喜欢
sort_last([(1, 3), (3, 2), (2, 1)])
要么
sort_last([(2, 3), (1, 2), (3, 1)])
但是
return tuples
总是给我NONE
我究竟做错了什么 ?
最佳答案
>>> def sort_last(tuples=None):
... tuples.sort(key=lambda tup: tup[-1])
... return tuples
>>> sort_last([(2, 1), (3, 2), (1, 3)])
[(2, 1), (3, 2), (1, 3)]
sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1
因此,List排序方法返回None并对
original
List本身进行排序。您可以使用
sorted
方法,该方法返回排序后的新列表,而没有changing
原始列表。sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
>>> def sort_last(tuples):
... return sorted(tuples, key=lambda tup: tup[-1])
...
>>> sort_last([(2, 1), (3, 2), (1, 3)])
[(2, 1), (3, 2), (1, 3)]
关于python - 使用用户定义的键返回无排序列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27185401/