Joining a list:
>>> \'\'.join([ str(_) for _ in xrange(10) ]) \'0123456789\'
join must take an iterable.
join
Appa
That's a generator, rather than a list comprehension. Generators are also iterables, but rather than creating the entire list first then passing it to join, it passes each value in the xrange one by one, which can be much more efficient.