Python 的 zip
函数用于将可迭代的对象作为参数,将多个对象中的对应位置的元素打包成一个个元组,然后返回由这些元组组成的列表。如果每个迭代器的元素个数不一致,则最终的列表长度与最短的对象相同。以下,我们演示一下 zip
的定义和用法:
def main():
# zip可以将多个list打包成一个list。像一个打包器
a = [1, 2, 3]
b = [4, 5, 6]
# 输出一个zip对象:<zip object at 0x0000024FDB56D508>
print(zip(a, b))
c = list(zip(a, b))
print(c)
# [(1, 4), (2, 5), (3, 6)]
# 并且可以对zip之后的的c中的每个元素进行处理
for i, j in zip(a, b):
print(i / 2, j * 2)
# 对多个list进行zip
d = list(zip(a, a, b))
print(d)
if __name__ == '__main__':
main()
小伙伴们会发现 print(zip(a, b))
输出的是一个对象 <zip object at 0x0000024FDB56D508>
,而并不是一个列表,这是因为在 Python3.x 中,为了减少内存,zip
方法返回的是一个对象,如果需要展示列表,那么,小伙伴们需要调用 list()
方法进行转换。
网友评论