zip

2024-05-26  本文已影响0人  xueyueshuai

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))。

上一篇下一篇

猜你喜欢

热点阅读