2011-07-03 93 views

回答

9

只是zip他們:

>>> l1 = ['a', 'b', 'c'] 
>>> l2 = ['d', 'e', 'f'] 
>>> zip(l1, l2) 
[('a', 'd'), ('b', 'e'), ('c', 'f')] 

如果需要列表,而不是元組,在結果:

>>> [list(l) for l in zip(l1, l2)] 
[['a', 'd'], ['b', 'e'], ['c', 'f']] 
+0

非常感謝 - 這正是我一直在尋找。 – Bob

+0

如果您正在處理大型列表/生成器,則還可以使用'itertools.izip' – lambacck

6

直接複製和粘貼從書:

拉鍊功能

有時是有用的循環在他們前頭兩個或兩個以上iterables結合起來。 zip函數會從一個或多個iterables 相應的元素,並將它們組合成元組,直到達到最短可迭代的末尾:

>>> x = [1, 2, 3, 4] 
>>> y = ['a', 'b', 'c'] 
>>> z = zip(x, y) 
>>> list(z) 
[(1, 'a'), (2, 'b'), (3, 'c')]