I construct a string s
in Python 2.6.5 which will have a varying number of %s
tokens, which match the number of entries in list x
. I need to write out a formatted string. The following doesn't work, but indicates what I'm trying to do. In this example, there are three %s
tokens and the list has three entries.
s = '%s BLAH %s FOO %s BAR'
x = ['1', '2', '3']
print s % (x)
I'd like the output string to be:
1 BLAH 2 FOO 3 BAR
You should take a look to the format method of python. You could then define your formatting string like this :
>>> s = '{0} BLAH BLAH {1} BLAH {2} BLAH BLIH BLEH'
>>> x = ['1', '2', '3']
>>> print s.format(*x)
'1 BLAH BLAH 2 BLAH 3 BLAH BLIH BLEH'