Python – String formatting in Python

formattingpythonstring

I want to do something like String.Format("[{0}, {1}, {2}]", 1, 2, 3) which returns:

[1, 2, 3]

How do I do this in Python?

Best Solution

The previous answers have used % formatting, which is being phased out in Python 3.0+. Assuming you're using Python 2.6+, a more future-proof formatting system is described here:

http://docs.python.org/library/string.html#formatstrings

Although there are more advanced features as well, the simplest form ends up looking very close to what you wrote:

>>> "[{0}, {1}, {2}]".format(1, 2, 3)
[1, 2, 3]