Joining a list:
>>> \'\'.join([ str(_) for _ in xrange(10) ])
\'0123456789\'
join
must take an iterable.
Appa
>>>''.join( str(_) for _ in xrange(10) )
This is called a generator expression, and is explained in PEP 289.
The main difference between generator expressions and list comprehensions is that the former don't create the list in memory.
Note that there's a third way to write the expression:
''.join(map(str, xrange(10)))