python zip 函数的用法
时间: 2023-09-30 19:02:57 浏览: 51
Python的zip()函数用于将多个可迭代对象(例如列表、元组)作为参数,返回一个包含这些对象中对应元素组成的元组的迭代器。 zip()函数的返回值是一个可迭代对象,可以使用list()函数将其转换为列表。需要注意的是,zip()函数返回的可迭代对象只能进行一次迭代遍历,第二次遍历就是空的。
使用zip()函数可以实现以下几个功能:
1. 将多个序列按照对应位置的元素进行组合,形成一个新的元组。
2. 迭代多个序列,同时获取对应位置的元素进行处理。
3. 对二维矩阵进行行列转置。
下面是几个zip()函数的应用示例:
1. 将两个列表按照对应位置的元素进行组合:
```
a = [1, 2, 3]
b = [4, 5, 6]
ab = zip(a, b)
print(list(ab)) # [(1, 4), (2, 5), (3, 6)]
```
2. 使用zip()函数同时迭代多个序列:
```
name = ('jack', 'alex', 'sony', 'joey')
age = (25, 28, 21, 30)
for a, n in zip(name, age):
print(a, n)
```
3. 对二维矩阵进行行列转置:
```
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(list(map(list, zip(*a)))) # [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
需要注意的是,zip()函数的参数可以有任意多个,每个参数可以是不同长度的可迭代对象。当参数中的可迭代对象长度不一致时,zip()函数将以最短的可迭代对象为准进行组合。
总结一下,zip()函数是用于将多个可迭代对象进行组合的函数,可以用于同时迭代多个序列或对二维矩阵进行行列转置。需要注意的是,zip()函数返回的可迭代对象只能进行一次遍历。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Python:zip 函数的用法](https://blog.csdn.net/weixin_30810583/article/details/99390525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Python教程:zip 函数的用法](https://blog.csdn.net/qdPython/article/details/123353945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]