Beitritt zu einer Liste:
>>> ''.join([ str(_) for _ in xrange(10) ])
'0123456789'
join
muss eine iterable nehmen.
Anscheinend ist join
das Argument [ str(_) for _ in xrange(10) ]
, und es ist ein Listenverständnis .
Schau dir das an:
>>>''.join( str(_) for _ in xrange(10) )
'0123456789'
Nun, join
das Argument ist einfach str(_) for _ in xrange(10)
, nein []
, aber das Ergebnis ist das gleiche.
Warum? Erzeugt str(_) for _ in xrange(10)
auch eine Liste oder eine iterable?
_
hat keine besondere Bedeutung, es ist ein regulärer Variablenname. Es wird oft als Wegwerfname verwendet, aber dies ist nicht der Fall (Sie verwenden die Variable). Ich würde es vermeiden, es in einem Code zu verwenden (zumindest auf diese Weise).
join
das höchstwahrscheinlich in C geschrieben ist und daher viel schneller läuft als ein Listenverständnis ... Testzeit!