zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
利用 * 号操作符,可以将元组解压为列表。
zip() 函数基本语法:zip([iterable, ...])
,iterable 表示一个或多个迭代对象,可以是字符串,列表,元组或字典。
应用举例:
>>> a = [1, 2, 3, 4, 5]# 在列表中的应用>>> b = [3, 4, 5, 6, 7]>>> c = [5, 6, 7, 8, 9]>>> zipped = zip(a, b, c)>>> zipped<zip object at 0x0000018AA4DCFF08># 返回一个 zip 对象>>> list(zipped)[(1, 3, 5), (2, 4, 6), (3, 5, 7), (4, 6, 8), (5, 7, 9)] # 使用 list() 函数将其转换为列表>>> z = zip(*zip(a, b, c))# 解压操作>>> z<zip object at 0x0000018AA4DD50C8>>>> list(z)[(1, 2, 3, 4, 5), (3, 4, 5, 6, 7), (5, 6, 7, 8, 9)]
>>> a = {'a':1, 'b':2, 'c':3}# 在字典中的应用>>> b = {'d':4, 'e':5, 'f':6}>>> c = {'g':7, 'h':8, 'i':9}>>> zipped = zip(a, b, c)>>> list(zipped)[('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]>>> z = zip(*zip(a, b, c))>>> list(z)[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i')]
如果觉得《【Python 必会技巧】使用 zip() 函数对序列进行压缩和解压操作》对你有帮助,请点赞、收藏,并留下你的观点哦!