python中zip函数
时间: 2023-05-31 08:04:06 浏览: 108
zip函数是Python内置函数之一,用于将多个可迭代对象打包成元组,返回一个迭代器,可用于循环遍历和解压缩。其语法如下:
```python
zip(iterable1, iterable2, ...)
```
其中,iterable1、iterable2等表示要打包的可迭代对象,可以是列表、元组、集合或其他可迭代对象。zip函数会返回一个迭代器,该迭代器依次生成由各个可迭代对象对应位置的元素组成的元组,直到其中任意一个可迭代对象遍历完为止。
例如,对于以下两个列表:
```python
a = [1, 2, 3]
b = ['a', 'b', 'c']
```
使用zip函数可以将它们打包成元组:
```python
c = zip(a, b)
```
得到的迭代器c依次生成以下三个元组:
```python
(1, 'a')
(2, 'b')
(3, 'c')
```
我们可以使用for循环遍历迭代器c,或者使用list函数将其转换为列表:
```python
for x in c:
print(x)
# 输出:
# (1, 'a')
# (2, 'b')
# (3, 'c')
c = zip(a, b)
lst = list(c)
print(lst)
# 输出:
# [(1, 'a'), (2, 'b'), (3, 'c')]
```
zip函数还可以用于解压缩,即将已打包的元组拆分为各个可迭代对象对应位置的元素:
```python
c = [(1, 'a'), (2, 'b'), (3, 'c')]
a, b = zip(*c)
print(a) # 输出:(1, 2, 3)
print(b) # 输出:('a', 'b', 'c')
```
在解压缩时,需要在zip函数前加上一个星号,表示将打包的元组解包成多个参数传递给zip函数。
阅读全文