在python中使用lambda组合字符

在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' 文档:上述代码中至少有两个语法错误

我想在lambda函数中使用'str+='样式生成结果

示例(有错误):

我预计结果如下:

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'