我得到一個語法錯誤在Python 2.7.3像這樣:Python字符串語法錯誤+ =操作
[s += 'Orig' for s in strs]
File "<stdin>", line 1
[s += 'Orig' for s in strs]
^
SyntaxError: invalid syntax
其中可疑交易報告只是一個字符串列表,像['a', 'b', 'c', 'd']
如果我更改代碼於:
[s + 'Orig' for s in strs]
然後,它的工作原理:
['aOrig', 'bOrig', 'cOrig', 'dOrig']
背後的原因是什麼?是否因爲列表理解中的s不可變?但它應該是一個臨時對象,無論如何都會被丟棄,爲什麼不呢?
另外,什麼是最有效的方式來做我想做的事情?我看了另一個鏈接:http://www.skymind.com/~ocrow/python_string/並嘗試使用連接,但連接不做我想要的;它將一串字符串連接成單個字符串,而我想將一個字符串附加到一個字符串列表中。
這樣做沒有意義。 Python需要一個值放入列表中,並且賦值不會返回值。 –
列表解析旨在創建一個新列表,而不是修改現有列表的簡寫。如果您試圖對列表進行就地修改,則這是錯誤的方法。 –
@SeanMcSomething:我非常喜歡LC的語法,所以我希望他們這樣做! –