Python的zip
时间: 2024-09-28 14:02:30 浏览: 28
在Python中,`zip()`是一个内建函数,它接收任意数量的迭代器作为参数,并返回一个新的迭代器。这个新的迭代器会同时遍历所有的输入迭代器,每次生成一对元素,分别是来自各个迭代器的当前元素。当最短的输入迭代器结束后,剩余的迭代器会被忽略,不会引发错误。
基本语法如下:
```python
zipped = zip(iter1, iter2, ..., iterN)
for item1, item2, ..., itemN in zipped:
# do something with the items
```
这里的`item1`, `item2`, ..., `itemN`将是来自`iter1`, `iter2`, ...的对应元素。如果迭代器长度不同,`zip`只会生成到最短的那个迭代器结束。
举个例子:
```python
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
for num, letter in zipped:
print(f"{num}: {letter}")
```
输出将是:
```
1: a
2: b
3: c
```
相关问题
Python zip
在 Python 中,`zip()` 函数是一个内置函数,用于将两个或更多的序列(列表、元组等)作为迭代器组合在一起,创建一个元组的迭代器。这个迭代器每次返回一个包含所有序列当前元素的元组,直到所有的输入序列中的元素都遍历完。如果序列长度不同,`zip()` 将只遍历最短的序列。
基本语法如下:
```python
zip(iterable1, iterable2, ...)
```
这里 `iterable1`, `iterable2`, 等是你要组合的序列。
例如:
```python
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
# 输出:[(1, 'a'), (2, 'b'), (3, 'c')]
for item in zipped:
print(item)
```
值得注意的是,`zip()` 函数不会改变原始序列,而是返回一个新的迭代器。如果你想获得一个列表,你可以使用 `list()` 函数将其转换:
```python
zipped_list = list(zip(list1, list2))
```
PYTHON zip
PYTHON的zip()函数用于并行迭代。对于给定的两个列表a和b,zip(a, b)会生成一个新的列表,其中每个元素是一个元组,元组的内容是(a[i-1], b[i-1])。如果在zip()中传入更多的参数,比如zip(a, b, c, d),结果将是一个列表,其中每个元素是一个元组,元组的内容是(a, b, c, d),(a, b, c, d),…,(a[n-1], b[n-1], c[n-1], d[n-1])。