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

functools.partial(sorted, key = str.upper)句中 key = str.upper的用法是?

import functools

sorted_ignore_case = functools.partial(sorted, key = str.upper)

print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit'])

求问 functools.partial(sorted, key = str.upper)

这句中 key = str.upper如何理解?

正在回答

4 回答

set中的值 也是key吧 'bob' 这些就是一个key  然后 key=str.upper 就是将 key大写了吧  我是这样理解的 小白 不知道对不对

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

wheeeat 提问者

谢谢。说得挺好!
2016-06-30 回复 有任何疑惑可以回复我~

如果key=str.upper看不懂的话

这句你应该明白了。。x.sort(key=lambda y: y.upper())。这里的key=lambda y: y.upper()等同于key=str.upper,也就是说面对一个list,可以简单的定义后面的内容。就跟(  [   ] , 条件      )一样

不好意思,上面打错了

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

如果key=str.upper看不懂的话

这句你应该明白了。。x.sort(key=lambda y: y.lower())。这里的key=lambda y: y.lower()等同于key=str.upper,也就是说面对一个list,可以简单的定义后面的内容。就跟(  [   ] , 条件      )一样

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

为什么你这里用upper方法后面不用加()呢

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

wheeeat 提问者

虽然不记得我这个问题是在问啥了 但是大概想一下 赋给 key 的是一个函数,所以传的是函数名。 如果写成 key = str.upper(),是把函数的返回值赋给了 key
2017-01-09 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

functools.partial(sorted, key = str.upper)句中 key = str.upper的用法是?

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