words = [\'John\', \'nice\', \'skateboarding\']
statement = \"%s you are so %s at %s\" % w for w in words
produces
File \"
You could also use the new .format
style string formatting with the "splat" operator:
>>> words = ['John', 'nice', 'skateboarding']
>>> statement = "{0} you are so {1} at {2}".format(*words)
>>> print (statement)
John you are so nice at skateboarding
This works even if you pass a generator:
>>> statement = "{0} you are so {1} at {2}".format(*(x for x in words))
>>> print (statement)
John you are so nice at skateboarding
Although, in this case there is no need to pass a generator when you can pass words
directly.
One final form which I think is pretty nifty is:
>>> statement = "{0[0]} you are so {0[1]} at {0[2]}".format(words)
>>> print statement
John you are so nice at skateboarding