更新时间:2023-02-23 来源:黑马程序员 浏览量:
zip()属于拉链函数,该函数在运算的时候,会以一个或多个序列(可迭代对象)作为参数,返回一个元组的列表,与此同时把这些序列中并排的元素配对。zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。最后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
可以使用list()转换来输出列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。
zip方法在Python2和Python3中也是存在区别的:在Python2中,zip()返回的是一个列表,在Python3中,zip()返回的是一个迭代器。
以下实例展示了zip的使用方法:
>>>a=[1,2,3] >>>b=[4,5,6] >>>c=[4,5,6,7,8] >>>zipped=zip(a,b) # 返回一个对象 >>>zipped >>>list(zipped) #list() 转换为列表 [(1,4),(2,5),(3,6)] >>>list(zip(a,c)) # 元素个数与最短的列表一致 [(1,4),(2,5),(3,6)] >>>a1,a2=zip(*zip(a,b)) # 与zip相反,zip(*)可理解为解压,返回二维矩阵式 >>>list(a1) [1,2,3] >>>list(a2) [4,5,6] >>>