python中zip函数
时间: 2023-11-12 09:05:02 浏览: 86
Python中zip函数如何使用
5星 · 资源好评率100%
zip函数是Python的一个内建函数,用于将多个可迭代对象(如列表、元组、字符串等)组合成一个元组序列。它返回一个迭代器,该迭代器生成元组,其中第i个元组包含每个可迭代对象的第i个元素。
例如,如果有两个列表a和b:
```python
a = [1, 2, 3]
b = ['a', 'b', 'c']
```
则可以使用zip函数将它们组合成一个元组序列:
```python
zipped = zip(a, b)
```
这将返回一个迭代器,该迭代器将产生以下元组序列:
```python
(1, 'a')
(2, 'b')
(3, 'c')
```
zip函数还可以接受更多的可迭代对象,例如:
```python
a = [1, 2, 3]
b = ['a', 'b', 'c']
c = ['x', 'y', 'z']
zipped = zip(a, b, c)
```
这将返回一个迭代器,该迭代器将产生以下元组序列:
```python
(1, 'a', 'x')
(2, 'b', 'y')
(3, 'c', 'z')
```
在Python 3中,zip函数返回一个迭代器,而不是列表。要获取一个列表,可以使用list函数:
```python
a = [1, 2, 3]
b = ['a', 'b', 'c']
zipped = list(zip(a, b))
```
这将返回以下列表:
```python
[(1, 'a'), (2, 'b'), (3, 'c')]
```
zip函数也可以用于解压缩一个元组序列。例如,如果有以下元组序列:
```python
zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
```
则可以使用zip函数解压缩它,如下所示:
```python
a, b = zip(*zipped)
```
这将返回两个元组:
```python
a = (1, 2, 3)
b = ('a', 'b', 'c')
```
这种解压缩的方法在处理多个返回值时非常有用。
阅读全文