zip( ) 函数:
\quad \quad 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。当各个迭代器中元素的个数不一致时,则返回列表中长度最短的情况,
zip(*)函数
\quad \quad 利用 *号操作符,可以将元组解压为列表。
python 2.x 与python3.x版本
- python2.x版,zip 函数返回list。
- python3.x生成的是可迭代对象,需要再使用list()去处理,并提取出来其中数据。
Python2.x版本
代码1:数组
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c=[9,8,7,6,3]
>>> zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 9), (2, 8), (3, 7)]
>>> d=zip(a,c)
>>> zip(*d)
[(1, 2, 3), (9, 8, 7)]
代码2:字符串
>>> strs1 = "flower"
>>> strs2 = "flow"
>>> strs3 = "flight"
>>> zip(strs1,strs2)
[('f', 'f'), ('l', 'l'), ('o', 'o'), ('w', 'w')]
>>> zip(strs2,strs3)
[('f', 'f'), ('l', 'l'), ('o', 'i'), ('w', 'g')]
>>> strs=[strs1,strs2,strs3]
>>> zip(*strs)
[('f', 'f', 'f'), ('l', 'l', 'l'), ('o', 'o', 'i'), ('w', 'w', 'g')]
- 通过这个例子,其实我们可以用于解决字符串的公共前缀问题
Python3.x版本