zip() 并行迭代
最后更新:2026-09-22
zip() 并行迭代
zip(*iterables) 把多个可迭代对象「并行」组合成元组迭代器(按最短截断);strict=True 时要求等长。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | 3.10+ |
📝 语法
zip(*iterables, strict=False)
⚙️ 参数
| iterables 必选 | 可变参数:多个可迭代对象,并行组合。 |
|---|---|
| strict 可选 | 为 True 时要求各可迭代对象长度相等(Python 3.10+)。(默认值:False) |
返回值:返回元组迭代器,每个元组由各对象的同位置元素组成;按最短输入截断。
💥 异常
ValueError— strict=True 且各输入长度不一致时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
a 1
b 2
c 3
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qzip() 遇到长度不齐的两个序列怎么办?
A默认按最短的截断,多余元素被丢弃,如 zip('abc', '12') 只产出 ('a','1')、('b','2');想显式报错用 zip(a, b, strict=True)(Python 3.10+)。
Qzip(*lst) 是干嘛的?
A解包转置:zip(*[(1, 'a'), (2, 'b')]) 得到 (1, 2) 和 ('a', 'b'),把“行”变“列”,常用于矩阵转置。
Qzip() 返回什么?
A返回 zip 迭代器(惰性),要列表用 list(zip(...));不传任何参数时返回空迭代器。
Qzip 能同时遍历几个列表?
A任意多个:for a, b, c in zip(x, y, z): 并行取值,是同时遍历多个序列的标准写法。