я получаю ошибку синтаксиса в Python 2.7.3 так:питон ошибка синтаксиса строки оператор + =
[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/ и попытался использовать join, но join не делает то, что я хочу; он объединяет список строк в одну строку, тогда как я хочу добавить строку в список строк.
Это не имеет смысла делать это там. Python нуждается в значении для ввода в список, а присваивание не возвращает значение. –
Сводка списка предназначена для создания нового списка, а не для сокращения существующего списка. Если вы пытаетесь внести изменения в список на месте, это неправильный путь. –
@SeanMcSomething: Мне нравится синтаксис LC настолько, что я бы хотел, чтобы они сделали! –