关于#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: () missing 1 required positional argument: 'y'

该回答引用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 按照值进行排序了。