描述
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)
print(zipped)
# 这里打印输出<zip object at 0x0000000001E198C0>
# 强制转化为list输出,看看结果
print(list(zipped))
# [(1, 4), (2, 5), (3, 6)]
# 长度相同,结果如上,那么长度不同呢,下面来看看
zipped=zip(a,c)
print(list(zipped))
# [(1, 4), (2, 5), (3, 6)]
# c中的7和8没有了,这说明元素个数不一致,则按照最短的为标准返回结果
# 在for循环中的用法
for m,n in zip(a,b):
print("m=%d,n=%d"%(m,n))
# 输出结果
# m=1,n=4
# m=2,n=5
# m=3,n=6
for m,n in zip(a,c):
print("m=%d,n=%d"%(m,n))
# 输出结果和上面一样
# m=1,n=4
# m=2,n=5
# m=3,n=6
当然,zip的参数可以是2个以上,比如:
for m,n,z in zip(a,b,c):
print("m=%d,n=%d,z=%d"%(m,n,z))
输出结果则如图:
评论