sorted函数的可用参数如下
sorted(iterable[, cmp[, key[, reverse]]])
其它几个还好理解,就是key
的用法经常会忘记,所以记录一下备用
文档中说:
key specifies a function of one argument that is used to extract a comparison key from each list element: key=str.lower. The default value is None (compare the elements directly).
我的理解是key
提供了一个函数,以iterable
对象中的元素为唯一参数,返回一个与原元素一一对应的 key 值
然后再对以这些 key 值为元素的iterable
进行排序
最后将这些 key 值替换回对应的原元素
排序完成
需要注意的就是False < True
然后是实例(参考https://segmentfault.com/q/1010000005111826/a-1020000005112829)
|
output
|
2016.7.9 补充
今天看了 cookbook 5.2,Python 2.4 之前是不支持key
的,书中提供了一个类似的思路,感觉对理解key
的实现很有帮助,摘录如下:
|