Python3中zip()函数接收可迭代的对象作为参数,将对象中的元素打包成一个个元组,返回由这些元组组成的对象,最后可以使用list()转换成列表。
而在python2中zip()函数返回的是列表,Python3做法的好处是可以节约内存。
参数:
zip([iterable]),iterable是一个或多个可迭代的对象。
返回值:
Python3中返回的是对象,Python2中返回的是列表。
案例1:
a = [1, 3, 5]
b = [2, 4, 6]
c = zip(a, b)
print(c)#返回对象
print(list(c))#生成列表
zip(*)与zip相反,可以理解为解压,返回二维矩阵式
a = [1, 3, 5]
b = [2, 4, 6]
c = zip(a, b)
print(list(zip(*c)))
案例2:实现列表元素相连
l=['a','b','c','d','e']
li=zip(l[:-1],l[1:])#l[:-1]为['a', 'b', 'c', 'd'],l[1:]为['b', 'c', 'd', 'e']
print(list(li))