zip([iterable, …]),此函数返回一个元组列表,其中第i个元组包含来自每个参数序列或可迭代对象的第i个元素。返回的列表在长度上被截断为最短参数序列的长度。当有多个长度相同的参数时,zip() 类似于map()初始参数为None。使用单个序列参数,它返回一个一元组列表。没有参数时,它返回一个空列表。
zip() 与 * 运算符相结合可以用来拆解一个列表:
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zipped)
>>> x == list(x2) and y == list(y2)
True