Python之zip
文章目录
Python中的
zip()
函数是一个内置函数,用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用
*
号操作符,可以将元组解压为列表。
以下是一些示例:
# 定义两个列表
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
# 使用 zip() 函数将这两个列表组合
zipped = zip(list1, list2)
print(list(zipped)) # 输出:[(1, 'a'), (2, 'b'), (3, 'c')]
这个例子中,zip()
函数将两个列表组合在一起,每个元组中的元素分别来自两个列表。
如果你想要解压一个 zip 对象,你可以使用 itertools.zip_longest()
函数,它可以处理不等长的迭代器:
from itertools import zip_longest
# 定义两个列表
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
# 使用 zip_longest() 函数将这两个列表组合
zipped = zip_longest(list1, list2)
print(list(zipped)) # 输出:[(1, 'a'), (2, 'b'), (3, 'c')]
在这个例子中,zip_longest()
函数可以处理不等长的迭代器,当列表长度不一致时,会自动填充 None
。