You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在sorted函数中使用lambda作为key出现语法错误,求解决方法

sorted函数中lambda作为key参数的语法错误解决

错误原因

你代码里的lambda(word,count):count是Python 2的写法,Python 3已经移除了元组参数拆包的语法,直接这样写会触发语法错误。Python 3要求lambda的参数必须是单个变量,不能在参数位置直接对元组进行拆包。

另外注意你定义了列表x但未使用,实际调用sorted时依赖的word_counts如果未定义也会报错,但当前触发的语法错误核心是lambda的写法问题。

解决办法

有两种简洁的修正方式:

  • 方式一:让lambda接收单个参数,通过索引访问元组的第二个元素(最常用)
    sorted(word_counts.items(), key=lambda item: item[1], reverse=True)
    
  • 方式二:在lambda内部手动完成参数拆包(Python 3.1+支持)
    sorted(word_counts.items(), key=lambda item: (lambda word, count: count)(*item), reverse=True)
    

完整可运行示例

假设word_counts是一个统计词频的字典:

word_counts = {"apple": 5, "banana": 2, "cherry": 8}
sorted_items = sorted(word_counts.items(), key=lambda item: item[1], reverse=True)
print(sorted_items)  # 输出: [('cherry', 8), ('apple', 5), ('banana', 2)]

内容的提问来源于stack exchange,提问作者keibod nouripour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:54:18