2012-04-09 25 views

Antwort

76

Der üblicher Weg ist zip() zu verwenden:

for x, y in zip(a, b): 
    # x is from a, y is from b 

Dies wird gestoppt, wenn die kürzere der beiden Iterables a und b erschöpft ist. Auch erwähnenswert: itertools.izip() (nur Python 2) und itertools.izip_longest() (itertools.zip_longest() in Python 3).

+4

es Schlag mich. Es mag erwähnenswert sein, dass Python 3 'zip' * *' izip 'ist. Es gibt auch keine 'zip_longest', aber' map (None, a, b) 'kann tun. – ephemient

+2

@ephemient: Letzteres nur auf Python 2, wieder. In Python 3 wird dies auf der kürzesten Sequenz gestoppt. Und 'izip_longest()' heißt 'zip_longest()' auf Python 3 ... –

7

können Sie zip verwenden:

>>> a = [1, 2, 3] 
>>> b = ['a', 'b', 'c'] 
>>> for x, y in zip(a, b): 
... print x, y 
... 
1 a 
2 b 
3 c 
Verwandte Themen