You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用高效Python函数简化多层嵌套for循环?

简化多层嵌套循环遍历组合的Python方案

Python标准库中的itertools.product是解决这类问题的理想工具,它可以直接生成多个列表的笛卡尔积(即所有可能的元素组合),完美替代n层嵌套的for循环,代码更简洁且效率有保障。

具体实现示例

假设你有lst1, lst2, ..., lstn这n个列表,只需将它们放入一个容器,再通过itertools.product遍历即可:

import itertools

# 把所有需要遍历的列表存入一个容器
all_lists = [lst1, lst2, lst3, ..., lstn]

# 遍历所有组合
for combo in itertools.product(*all_lists):
    # combo 是一个元组,包含当前组合的所有元素,格式为(x1, x2, ..., xn)
    # 可按需拆包使用
    x1, x2, ..., xn = combo
    # 执行你的操作
    # do something

关键说明

  • 代码中的*all_lists是解包操作,把容器中的每个列表作为独立参数传递给itertools.product
  • 每个combo是元组类型,若需要列表格式可转换为list(combo)
  • itertools模块基于C实现,性能优于纯Python编写的嵌套循环,无需担心效率问题
  • 如果需要限制遍历的组合数量,可结合itertools.islice截断结果,但遍历全部组合时直接使用product即可

内容的提问来源于stack exchange,提问作者Rebel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:33:15