为了账号安全,请及时绑定邮箱和手机立即绑定

关于sorted里的key关键字, 是干嘛的?

为什么不能写成 这样呢 

L2 = sorted(L1, key = lambda p1, p2: cmp(p1.name, p2.name))

多了个key就错了, key到底有什么用啊

正在回答

3 回答

In Python “key” is the function that process elements and get the value for the comparison.

 


0 回复 有任何疑惑可以回复我~

key只接受一个元素

0 回复 有任何疑惑可以回复我~
>>> help(sorted)
Help on built-in function sorted in module __builtin__:

sorted(...)
    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
 
一般来说,cmp和key可以使用lambda表达式。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

关于sorted里的key关键字, 是干嘛的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信