Python变量+本身

Gra*_*ntU 2 python variables

这也许很简单,但是我不确定要搜索什么。

我想做这样的事情:

temp = ""
for item in instance:
    temp = temp + item
Run Code Online (Sandbox Code Playgroud)

我想我以前看过这样:

temp ++ item
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

Dan*_*iel 5

一个++运营商并不在Python存在,但它确实有+=运营商。您可以按以下方式使用它:

temp = ''
for item in instance:
    temp += item
Run Code Online (Sandbox Code Playgroud)

通常,字符串在Python中是不可变的(即,不能更改)。但是,正如Fenikso在评论中指出的那样,该运算符将创建一个新的字符串对象,该对象由temp的旧值加上item的新值组成。

如果使用列表理解,您可能会更快,例如Alex Parakhnevich在回答中所建议的那样。

  • “ + =”适用于字符串。它不会改变旧的。它通过两个字符串的连接创建一个新对象,并将其分配给`temp`变量。您可以在循环中打印`id(temp)`进行验证。 (3认同)
  • 请注意,此解决方案为O(n ^ 2),而“ str.join”为O(n),请参见[优化轶事](http://www.python.org/doc/essays/list2str.html)。 (2认同)