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

出现sorted expected 1 arguments, got 2

代码在慕课里运行成功,在pycharm报错


代码如下:

def cmp_ignore_case(s1, s2):
    u1=s1.upper()
    u2=s2.upper()
    if u1 < u2:
        return -1
    if u1 > u2:
        return 1
    return 0
print (sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case))

报错如下:

TypeError: sorted expected 1 arguments, got 2


为什么它说要一个参数而我传了两个参数??这个函数要的就是两个参数啊。麻烦大佬告诉一下我原因

正在回答

3 回答

请问解决了么

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

Python3的版本问题

当待排序列表的元素由多字段构成时,我们可以通过sorte参数key来制定我们根据那个字段对列表元素进行排序。
  key=lambda 元素: 元素[字段索引]
  例如:想对元素第二个字段排序,则
             key=lambda x: x[1]  

也就是整个陈旭可以改为print(sorted(['bob','about', 'Zoo', 'Credit'], key = lambda x: x.upper()))

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

慕码人1138065

大佬,一样的问题,已经解决了
2019-11-17 回复 有任何疑惑可以回复我~

代码测试正常,应该是环境的问题。

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

举报

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

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

进入课程

出现sorted expected 1 arguments, got 2

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