可期ლ 2023-02-27 16:02 采纳率: 30.8%
浏览 18
已结题

关于#python#的lambda问题:

这是什么情况呀 有兄弟能帮我解答一下嘛

        sorted_lists = sorted(target_list.items(), key=lambda x, y: cmp(x[1], y[1]), reverse=True)


File "D:/IJspace/QA-Snake-master/QA/QACrawler/search_summary.py", line 267, in kwquery
    sorted_lists = sorted(target_list.items(), key=lambda x, y: cmp(x[1], y[1]), reverse=True)
TypeError: <lambda>() missing 1 required positional argument: 'y'
  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-02-27 16:13
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    这个错误提示是因为在 lambda 函数中定义了两个参数 x 和 y,但是在 key 函数中只有一个参数传递,导致在 lambda 函数中缺少一个必需的位置参数 y。

    可以改为以下写法,使用元组形式表示 key 函数中的参数:

    sorted_lists = sorted(target_list.items(), key=lambda x_y: cmp(x_y[1], y[1]), reverse=True)
    
    
    

    或者使用更简单的写法,不需要使用 lambda 函数:

    sorted_lists = sorted(target_list.items(), key=lambda x: x[1], reverse=True)
    
    
    

    这样就能正确地对 target_list 按照值进行排序了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日
  • 创建了问题 2月27日