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

Python3.x中我po出的程序应该怎么改才能运行呢?

sorted([1, 3, 9, 5, 0], key=lambda x,y: -cmp(x,y))
#给出的错误提示是:<lambda>() missing 1 required positional argument: 'y'


正在回答

2 回答

http://img1.sycdn.imooc.com//597b176900015e1d07050204.jpg可以正常运行

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

小白汤付颖8169924号 提问者

你好,我用的是Python3.5版本的,不知道你的版本是什么?
2017-07-30 回复 有任何疑惑可以回复我~

>>> sorted([1, 3, 9, 5, 0], key=lambda x,y: -cmp(x,y))


Traceback (most recent call last):

  File "<pyshell#10>", line 1, in <module>

    sorted([1, 3, 9, 5, 0], key=lambda x,y: -cmp(x,y))

TypeError: <lambda>() takes exactly 2 arguments (1 given)

sorted 这个函数中的key:key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。 而层主 定义的这个匿名函数有2个参数 把key=去掉就可以了

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

小白汤付颖8169924号 提问者

可是这样一来就会出现这样的错误# must use keyword argument for key function
2017-07-26 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

Python3.x中我po出的程序应该怎么改才能运行呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号