zip 是 Python 中的一个内置函数,用于将多个可迭代对象(如列表、元组、字符串等)打包成一个元组的列表。每个元组包含的是原始可迭代对象中对应位置的元素。zip 函数常用于同时遍历多个集合,使得相关数据保持同步。
基本语法如下:
Python
zip(iterable1, iterable2, ..., iterableN)
iterable1, iterable2, ..., iterableN:这些是需要打包的可迭代对象。zip 会停止生成元组,一旦给定的任一可迭代对象耗尽。
例如:
names = ['A', 'B', 'C']
ages = [24, 30, 35]
# print(list(zip(names, ages))) # [('Alice', 24), ('Bob', 30), ('Charlie', 35)]
# 使用 zip 函数将名字和年龄配对
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
输出将是:
A is 24 years old.
B is 30 years old.
C is 35 years old.
需要注意的是,如果传入的可迭代对象长度不一致,zip 函数会以最短的那个为准,多余的元素会被忽略。如果需要以最长的为准,可以配合 itertools.zip_longest 使用,并提供一个填充值。
此外,zip 返回的是一个迭代器,如果你需要直接得到列表或其他容器类型的结果,可以使用 list, tuple, 等函数来转换,如 list(zip(names, ages))。
网友评论