欢迎访问宙启技术站
智能推送

Python中的zip()函数-并行迭代多个序列的方法

发布时间:2023-06-29 06:44:34

在Python中,zip()函数是一个非常有用的函数,它可以用来并行迭代多个序列,将对应位置的元素打包成一个元组,并返回一个由这些元组组成的新序列。

zip()函数的语法如下:

zip([iterable1 [, iterable2 [...]]])

其中,iterable1、iterable2等是可迭代的序列,它们可以是列表、元组、字符串或其他可迭代对象。

下面是一些使用zip()函数的例子:

1. 并行迭代两个列表

>>> names = ['Alice', 'Bob', 'Charlie']
>>> ages = [25, 32, 18]
>>> for name, age in zip(names, ages):
...     print(name, age)
...
Alice 25
Bob 32
Charlie 18

2. 并行迭代三个序列

>>> names = ['Alice', 'Bob', 'Charlie']
>>> ages = [25, 32, 18]
>>> scores = [90, 85, 95]
>>> for name, age, score in zip(names, ages, scores):
...     print(name, age, score)
...
Alice 25 90
Bob 32 85
Charlie 18 95

3. zip()函数返回的是一个可迭代对象,我们可以使用list()函数将其转换为列表。

>>> names = ['Alice', 'Bob', 'Charlie']
>>> ages = [25, 32, 18]
>>> zipped = zip(names, ages)
>>> print(list(zipped))
[('Alice', 25), ('Bob', 32), ('Charlie', 18)]

4. 当输入的序列长度不一致时,zip()函数会以最短的序列长度为准。

>>> names = ['Alice', 'Bob', 'Charlie']
>>> ages = [25, 32]
>>> zipped = zip(names, ages)
>>> print(list(zipped))
[('Alice', 25), ('Bob', 32)]

总结来说,zip()函数是一个非常有用的函数,可以方便地实现并行迭代多个序列。它可以在循环中同时访问多个序列的对应元素,简化代码的编写。