Pythonである文字列を別の文字列に追加するには?

Pythonで、ある文字列を別の文字列に追加する効率的な方法が欲しいのですが、以下のような方法以外はありません。

var1 = "foo"
var2 = "bar"
var3 = var1 + var2

何か良い組み込み方法はありませんか?

早まった最適化はしないでください。もし、文字列の連結が速度のボトルネックになっていると考える理由がないのであれば、++=で我慢してください。

s  = 'foo'
s += 'bar'
s += 'baz'

そうは言っても、もしあなたが Java の StringBuilder のようなものを目指しているのであれば、Python の典型的なイディオムは、アイテムをリストに追加し、str.join を使って最後にそれらをすべて連結することです。

l = []
l.append('foo')
l.append('bar')
l.append('baz')

s = ''.join(l)
解説 (3)
str1 = "Hello"
str2 = "World"
newstr = " ".join((str1, str2))

これは、str1とstr2をスペースをセパレータにして結合するものです。また、"".join(str1, str2, ...)とすることもできます。str.join()`はイテレートを取るので、文字列をリストやタプルにしておく必要があります。

これは内蔵のメソッドとしては効率的なものです。

解説 (1)

大きな文字列を構築するために多くの追加操作を行う必要がある場合には,StringIOまたは cStringIO を使用することができます。インターフェイスはファイルのようなもので,テキストを追加するには write します.

もし、2つの文字列を追加するだけなら、+を使うだけです。

解説 (0)