zip
是 Python 内置函数之一,用于将多个可迭代对象(如列表、元组、字符串等)按索引位置逐个组合成元组,然后返回由这些元组组成的列表。每个元组包含来自不同可迭代对象的相同索引位置的元素。
函数语法
zip(iterable1, iterable2, ...)
参数:
iterable1
,iterable2
, ...: 一个或多个可迭代对象,可以是列表、元组、字符串等。这些对象将按照相同索引位置进行组合。
返回值:
返回一个由元组组成的列表,每个元组包含输入可迭代对象中相同索引位置的元素。
示例代码
基本示例 - 两个列表的组合:
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 28]
result = list(zip(names, ages))
print(result)
运行结果:
[("Alice", 25), ("Bob", 30), ("Charlie", 28)]
不同长度的可迭代对象组合:
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30]
result = list(zip(names, ages))
print(result)
运行结果:
[("Alice", 25), ("Bob", 30)]
注意: zip
函数会在最短的可迭代对象耗尽时停止组合。
组合多个可迭代对象:
list1 = [1, 2, 3]
tuple1 = (10, 20, 30)
string1 = "abc"
result = list(zip(list1, tuple1, string1))
print(result)
运行结果:
[(1, 10, 'a'), (2, 20, 'b'), (3, 30, 'c')]
总结
zip
函数是一个非常实用的函数,它允许你将多个可迭代对象按索引位置进行组合,生成元组的列表。需要注意的是,zip
函数在组合时会以最短的可迭代对象为准,其他较长的可迭代对象的多余部分将被忽略。通过合理地使用 zip
,你可以更方便地处理多个相关联的数据。