python之【zip()函数、zip(*)函数】

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版本

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45666566/article/details/112424824