python zip函数小结,,zip()函数用于将


zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

>>>a = [1,2,3]>>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b)     # 打包为元组的列表[(1, 4), (2, 5), (3, 6)]>>> zip(a,c)              # 元素个数与最短的列表一致[(1, 4), (2, 5), (3, 6)]>>> zip(*zipped)          # 与 zip 相反,可理解为解压,返回二维矩阵式[(1, 2, 3), (4, 5, 6)]

如果传的是这样,数组里放的是字符串,将拆分字符串

>>> s=[‘12a‘,‘123‘,‘234‘]>>> zip(*s)[(‘1‘, ‘1‘, ‘2‘), (‘2‘, ‘2‘, ‘3‘), (‘a‘, ‘3‘, ‘4‘)]

单个字符串:

>>> s=[‘1‘,‘1‘,‘2‘]
>>> zip(*s)
[(‘1‘, ‘1‘, ‘2‘)]

下面这样会出错

>>> l=[111,12,13]>>> zip(*l)Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: zip argument #1 must support iteration

python zip函数小结

评论关闭