今天在看 Eric Matthes 的《Python编程从入门到实践》中看到这句,代码演示如下:
>>>a = ([1, 4, 3], [3, 2, 5], [5, 1, 2], [4, 3, 1], [2, 5, 3])
>>>sorted(a, key=lambda _: _[0])
[[1, 4, 3], [2, 5, 3], [3, 2, 5], [4, 3, 1], [5, 1, 2]]
>>>sorted(a, key=lambda _: _[1])
[[5, 1, 2], [3, 2, 5], [4, 3, 1], [1, 4, 3], [2, 5, 3]]
>>>sorted(a, key=lambda _: _[2])
[[4, 3, 1], [5, 1, 2], [1, 4, 3], [2, 5, 3], [3, 2, 5]]
sorted() 函数对所有可迭代的对象进行排序操作,key 是用来进行比较的元素。书写方式如下:
key=lambda 元素: 元素[字段索引]
lambda 用于匿名函数,可以免去命名函数的麻烦,上面的代码相当于与:
def fun(元素):
return 元素[字段索引]
key = fun(元素)
sorted 函数按照字段索引进行排序。