There is no one-to-one correlation. For a really good article please see Efficient String Concatenation in Python:
Building long strings in the Python
progamming language can sometimes
result in very slow running code. In
this article I investigate the
computational performance of various
string concatenation methods.
TLDR the fastest method is below. It’s extremely compact, and also pretty understandable:
def method6():
return ”.join([`num` for num in xrange(loop_count)])
Relying on compiler optimizations is fragile. The benchmarks linked in the accepted answer and numbers given by Antoine-tran are not to be trusted. Andrew Hare makes the mistake of including a call to repr in his methods. That slows all the methods equally but obscures the real penalty in constructing the string.
Use join. It’s very fast and more robust.
$ ipython3
Python 3.5.1 (default, Mar 2 2016, 03:38:02)
IPython 4.1.2 — An enhanced Interactive Python.
In [1]: values = [str(num) for num in range(int(1e3))]
In [2]: %%timeit
…: ”.join(values)
…:
100000 loops, best of 3: 7.37 µs per loop
In [3]: %%timeit
…: result = ”
…: for value in values:
…: result += value
…:
10000 loops, best of 3: 82.8 µs per loop
In [4]: import io
In [5]: %%timeit
…: writer = io.StringIO()
…: for value in values:
…: writer.write(value)
…: writer.getvalue()
…:
10000 loops, best of 3: 81.8 µs per loop