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

如何创建可根据变量n生成可变层数双层嵌套for循环的函数

实现方案

你可以用itertools.product生成动态层级的笛卡尔积,完全匹配你给出的嵌套循环逻辑,完整代码如下:

from itertools import product

def function(n, max_anz, max_size_, step):
    z = 0
    # 单组循环单元对应一组a_i、x_i的遍历范围
    single_unit = [
        range(max_anz + 1),
        range(0, max_size_, step)
    ]
    # 拼接生成n组循环单元的总遍历范围
    all_ranges = single_unit * n
    # 遍历所有符合嵌套规则的组合
    for item in product(*all_ranges):
        print(list(item))
        z += 1
    print(z)

逻辑说明

  • 每层嵌套的固定逻辑都是先遍历a_i的范围range(max_anz + 1),再遍历x_i的范围range(0, max_size_, step),n层嵌套等价于把n个这样的双循环组合做笛卡尔积
  • itertools.product生成组合的顺序和手动写多层循环的输出顺序完全一致,计数结果z也和原逻辑完全相同

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:36:03