在python中使用lambda组合字符
我想在lambda函数中使用'str+='样式生成结果 示例(有错误): 我预计结果如下:在python中使用lambda组合字符,python,lambda,Python,Lambda,我想在lambda函数中使用'str+='样式生成结果 示例(有错误): 我预计结果如下: HELLO 如何使用状态变量(如'str+='样式)修复上述lambda函数 如果“str+=”样式不可能,请详细解释为什么不可能。不要简单地回答那个错误 我想你的意思是: >>> t = lambda text: ''.join(text).upper() >>> t(['h','e','l','l','o']) 'HELLO' 文档:上述代码中至少有两个语法错误
HELLO
如何使用状态变量(如'str+='样式)修复上述lambda函数
如果“str+=”样式不可能,请详细解释为什么不可能。不要简单地回答那个错误 我想你的意思是:
>>> t = lambda text: ''.join(text).upper()
>>> t(['h','e','l','l','o'])
'HELLO'
文档:上述代码中至少有两个语法错误。请发布有效的Python.BTW,尽管您可以使用
+=
连接字符串,但最好使用.join
,有关详细信息,请参阅和链接页面。请注意,将lambda
表达式指定给名称违背了lambda
表达式的全部目的,在PEP-8中明确建议不要使用该表达式。我将向lambda函数确认,该函数可能会保存类似'str+='样式的状态。此外,不要将str
用作变量名(即使在示例代码中)因为这会影响内置的str
类型。在加入后执行.upper()
是否更有效?@Chris_Rands可能。我只是有点模仿OP的风格,“我想在lambda函数中使用str+=
样式”。@Danielle这不是一个真正的(高效的) thing@TerryA我同意你的方式更好,但至少在你的回答中向他解释一下。
>>> t = lambda text: ''.join(text).upper()
>>> t(['h','e','l','l','o'])
'HELLO'