我在 Python 2.7.3 中遇到语法错误,如下所示:
[s += 'Orig' for s in strs]
File "<stdin>", line 1
[s += 'Orig' for s in strs]
^
SyntaxError: invalid syntax
其中 strs 只是一个字符串列表,例如['a', 'b', 'c', 'd']
如果我将代码更改为:
[s + 'Orig' for s in strs]
然后它工作:
['aOrig', 'bOrig', 'cOrig', 'dOrig']
这背后的原因是什么?是因为列表推导中的 s 不可变吗?但它应该是一个临时对象,无论如何以后都会被丢弃,为什么不呢?
另外,做我想做的最有效的方法是什么?我查看了另一个链接:http ://www.skymind.com/~ocrow/python_string/并尝试使用 join,但 join 不符合我的要求;它将字符串列表连接到单个字符串中,而我想将字符串附加到字符串列表中。