Python 3中的Lambda排序
我正试图将代码从Python 2.x转换为as中的3.x,但我无意中发现了Lambda的语法错误Python 3中的Lambda排序,python,python-3.x,sorting,lambda,Python,Python 3.x,Sorting,Lambda,我正试图将代码从Python 2.x转换为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 3中删除了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 3中删除了lambda参数中的元组解包 您需要手动索引到元组中
colours.sort(key=lambda rgb: step(rgb[0],rgb[1],rgb[2],8))
在Python3中删除了lambda参数中的元组解包 您需要手动索引到元组中
colours.sort(key=lambda rgb: step(rgb[0],rgb[1],rgb[2],8))
对现在这是有道理的。谢谢,是的。现在这是有道理的。非常感谢。