zip() 函数
使用方法
zip() 函数将可迭代的对象作为参数,将对象中的元素打包成一个个的元组,返回由这些元组构成的对象,这样做的好处是节约了不少的内存。
可以用list()函数,将对象转换为列表,列表的元素是一个个元组。
如果各个迭代器的元素个数不一致,则返回的列表的长度和最短的对象相同。
利用星号*操作符,将元组解压为列表。
python 2 zip()函数直接返回的就是元组构成的列表,而python 3 返回的是zip对象,需要用list()函数转换为列表的格式。
Example
a = [1,2,3]
b = [4,5,6]
c = [1,2,3,4,5]
zipped = zip(a,b) # 将迭代对象打包为元组,返回一个对象
# <zip at 0x7f3960e569c8>
list(zipped)
# [(1, 4), (2, 5), (3, 6)]
list(zip(a,c)) # 迭代对象长度不一致,和最短的对象长度相同
# [(1, 1), (2, 2), (3, 3)]
z = zip(a,b)
a = zip(*z) # a是一个zip对象
list(a) # 将a对象转换为列表
# [(1, 2, 3), (4, 5, 6)]
a1, a2 = zip(*zip(a,b)
a1 # tuple
# (1, 2, 3)
list(a1) # list
# [(1, 2, 3), (4, 5, 6)]