zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,zip()函数的作用是可以节约内存。
1、zip()函数返回的是一个对象,如果需要展示列表,则需要用list转换,需要展示字典则需要用dict转换:
list_a = ['a', 'b', 'c'] list_b = [1, 2, 3] print(zip(list_a, list_b)) print(list(zip(list_a, list_b))) print(dict(zip(list_a, list_b)))
运行结果如下:
2、如果传入的参数中,各个迭代对象的元素个数不一致,则返回列表长度与最短的对象相同:
list_a = [1, 2, 3] list_b = [4, 5, 6, 7, 8] print(list(zip(list_a, list_b)))
运行结果为:
3、利用 * 号操作符,可以将元组解压为列表:
list_a = [1, 2, 3] list_b = [4, 5, 6] list1, list2 = zip(*zip(list_a, list_b)) # 与zip相反,zip(*)可理解为解压,将元组解压为列表 print(list(list1)) print(list(list2))
运行结果为: