zip函数使用
看到很多库的源码里使用到了zip函数,来通过例子了解下如何应用
写个转换类型的函数
def k(i):
return list(i)
开始测试
- 两个同维度参数
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> k(zip(a,b))
[(1, 4), (2, 5), (3, 6)]
- 两个同维度列表和
- 两个不同维度参数
>>> a=[(1,2),(3,4,5),(1,1)]
>>> b=[7,8,9]
>>> k(zip(a,b))
[((1, 2), 7), ((3, 4, 5), 8), ((1, 1), 9)]
>>> a=[1,2,3]
>>> b=[1,2]
>>> k(zip(a,b))
[(1, 1), (2, 2)]
>>> a=[(1,2),(3,4,5),(1,1)]
>>> b=[(11,12,13)]
>>> k(zip(a,b))
[((1, 2), (11, 12, 13))]
- 自己和自己
>>> k(zip(b,b))
[((11, 12, 13), (11, 12, 13))]
应用
["1.in", "1.out", "2.in", "2.out"] => [("1.in", "1.out"), ("2.in", "2.out")]
>>> a = ["1.in", "1.out", "2.in", "2.out"]
>>> list(zip(*[a[i::2] for i in range(2)]))
[("1.in", "1.out"), ("2.in", "2.out")]