>>>''.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)))