Python3中zip()函数用法及*zip解包详解

温以宁
温以宁
发布时间:2026-10-13| 4人浏览过
原创

本文详解Python3中zip()函数的核心用法,展示如何将多个可迭代对象组合为元组并生成字典。同时深入解析*zip()的解包机制,通过示例演示如何还原被压缩的迭代器状态,帮助开发者掌握数据组合与还原技巧。

zip()函数基础用法与字典生成

zip()函数用于将多个可迭代对象作为参数传入,按顺序取出各对象中的元素组合成元组,生成一个新的可迭代对象。组合过程持续到最短的可迭代对象元素耗尽为止,较长对象中剩余的元素将被自动忽略舍弃。


keys = ['one', 'two', 'three']
values = [1, 2, 3]
d = zip(keys, values)
print(list(d))

示例结果:

[('one', 1), ('two', 2), ('three', 3)]

通过上述示例,可以看到zip()模拟了类似字典的一一对应关系,生成了一个元组迭代对象。我们可以将其转换为list类型进行查看,或者利用该迭代对象直接生成真正的键值对字典。


keys = ['one', 'two', 'three']
values = [1, 2, 3]
d = zip(keys, values)
D = {}
for key, value in d:
  print(key, value)
  D[key] = value
print(D)

示例结果:

one 1 two 2 three 3 {'one': 1, 'two': 2, 'three': 3}

除了使用for循环迭代赋值来构建字典外,在Python3中还可以使用更简洁的一行代码实现键值映射:D = dict(zip(keys, values))。

*zip()解包还原机制

*zip()解包

当需要将经过zip()压缩后的迭代对象还原为原始状态时,可以利用*操作符进行“解压”操作,从而恢复为组合前的多个独立迭代器。


keys = ['one', 'two', 'three', 'four']
values = [1, 2, 3]
d = zip(keys, values)
older = zip(*d)
print(list(older))

“解压”结果:

[('one', 'two', 'three'), (1, 2, 3)]

PS:Python3:zip()和*zip()函数

描述

  • zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组
  • *zip() 和zip()配合使用,具体看下面示例

Showing code by screenshot ~~

1. zip()

2. *zip()

总结

以上所述是小编给大家介绍的Python3 对象组合zip()和回退方式*zip,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。