从参数中的多个迭代器取元素组合成一个新的迭代器;
返回:
返回一个zip对象,其内部元素为元组;可以转化为列表或元组;
传入参数
元组、列表、字典等迭代器。
示例:
##zip()函数单个参数
list1=[1,2,3,4]
tuple1=zip(list1)
#打印zip函数的返回类型
print("zip()函数的返回类型:\n",type(tuple1))
#将zip对象转化为列表
print("zip对象转化为列表:\n",list(tuple1))
输出:
zip()函数的返回类型:
<class 'zip'>
zip对象转化为列表:
[(1,), (2,), (3,), (4,)]
当zip()函数有两个参数时
zip(a,b),zip()函数分别从a和b依次各取出一个元素组成元组,再将依次组成的元组组合成一个新的迭代器新的zip类型数据。
注意:
要求a与b的维数相同,当两者具有相同的行数与列数时,正常组合对应位置元素即可;
当a与b的行数或列数不同时,取两者结构中最小的行数和列数,依照最小的行数和列数将对应位置的元素进行组合;这时相当于调用itertools.zip_longest(*iterables)函数。
由于python都是引用,而python有GC机制,所以,del函数作用在变量上,而不是数据对象上。del函数删除的是变量,而不是数据。
if __name__=='__main__':
li=[1,2,3,4,5] #列表本身不包含数据1,2,3,4,5,而是包含变量:li[0] li[1] li[2] li[3] li[4]
first=li[0] #拷贝列表,也不会有数据对象的复制,而是创建新的变量引用
del li[0]
print(li) #输出[2, 3, 4, 5]
print(first) #输出 1