【问题标题】:Lambda sort in Python 3Python 3 中的 Lambda 排序
【发布时间】:2021-01-25 23:56:09
【问题描述】:

我正在尝试将代码从 Python 2.x 转换为 here as 的 3.x,但偶然发现了 Lambda 的语法错误。

colours.sort(key=lambda (r,g,b): step(r,g,b,8)) # invalid syntax

我认为冒号前的括号是不需要的

colours.sort(key=lambda r,g,b: step(r,g,b,8))

只有这样会导致 TypeError: () 缺少 2 个必需的位置参数:'g' 和 'b'

谁能指出我哪里出错了?

【问题讨论】:

    标签: python python-3.x sorting lambda


    【解决方案1】:

    在 Python 3 中移除了 lambda 参数中的元组解包。

    您需要手动索引到元组。

    colours.sort(key=lambda rgb: step(rgb[0],rgb[1],rgb[2],8)) 
    

    【讨论】:

    • 是的。现在这是有道理的。谢谢。
    猜你喜欢
    • 2015-12-06
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多