zip函数用于对列表对应元素打包成元组

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。在python3中,zip函数返回一个迭代器。

如果zip函数中的参数前面有一个*,相当于解压缩,变成打包前的列表形式。

代码如下

 1 a = [1, 2, 3]
 2 b = [3, 4, 5]
 3 c = [6, 7, 8, 9, 10]
 4 d = zip(a, b)
 5 e = zip(a, c)
 6 f = zip(a, b, c)
 7 print(list(d))
 8 print(list(e))
 9 print(list(f))
10 f = zip(a, b, c)
11 g = zip(*f)
12 print(list(g))

运行结果如下图。我第十行之所以要重新打包是因为,代码第九行运行完后,f已经迭代到了末尾,迭代器指针指向了末尾,如果没有第十行,那么11行的f是一个空列表。

原文地址:https://www.cnblogs.com/loubin/p/11294899.html