zip 可以平行地遍歷多個迭代器
python 3中zip相當於生成器,遍歷過程中產生元祖,python2會把元祖生成好,一次性返回整份列表
zip(x,y,z)會生成乙個可返回元組 (x,y,z) 的迭代器
x = [1, 2, 3, 4, 5]
y = ['a', 'b', 'c', 'd', 'e']
z = ['a1', 'b2', 'c3', 'd4', 'e5']
>>> for i in zip(x,y,z):
... print(i)
...
(1, 'a', 'a1')
(2, 'b', 'b2')
(3, 'c', 'c3')
(4, 'd', 'd4')
(5, 'e', 'e5')
遍歷長度不一樣(只要耗盡乙個就會結束,若想遍歷不等長請使用itertools的zip_longest)
x = [1, 2, 3, 4, 5, 6]
y = ['a', 'b', 'c', 'd', 'e']
>>> for i in zip(x,y):
... print(i)
...
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')
from itertools import zip_longest
x = [1, 2, 3, 4, 5, 6]
y = ['a', 'b', 'c', 'd', 'e']
>>> for i in zip_longest(x,y):
... print(i)
...
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')
(6, none)
同時迭代多個序列
你想同時迭代多個序列,每次分別從乙個序列中取乙個元素。為了同時迭代多個序列,使用zip 函式。比如 xpts 1,5,4,2,10,7 ypts 101,78,37,15,62,99 for x,y in zip xpts,ypts print x,y 1 1015784 3721510627 99...
zip 同時迭代多個序列
1 可以使用zip 函式來同時迭代多個序列 xpts 1,5,4,2,8,10 ypts 100,121,78,37,23 for x,y in zip xpts,ypts print x,y 1 100 5 121 4 78 2 37 8 23zip a,b 的工作原理是建立出乙個迭代器,該迭代器...
python zip 並行迭代
在使用迭代時,有乙個非常方便的技巧 通過 zip 函式對多個序列進行並行迭代 days monday tuesday wednesday fruits banana orange peach drinks coffee tea beer desserts tiramisu ice cream pie...