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

编写支持可变数量变量的全值组合生成代码

生成变量取值的所有组合(支持任意数量变量)

你可以用Python结合itertools.product实现这个需求,它能自动计算多组取值的笛卡尔积,完美适配任意数量的自定义变量配置。

实现代码

import itertools

# 自定义变量配置:键为变量名,值为该变量的取值列表
variables = {
    "var1": ["A", "B"],
    "var2": ["X", "Y"],
    "var3": ["1", "2"]
}

# 拆分变量名和取值列表
var_names = list(variables.keys())
var_value_lists = list(variables.values())

# 遍历所有取值组合并格式化输出
for combo in itertools.product(*var_value_lists):
    output_line = ", ".join(f"{name}={val}" for name, val in zip(var_names, combo))
    print(output_line)

代码说明

  1. 灵活配置变量:通过字典variables可以自定义任意数量的变量,以及每个变量对应的取值集合,比如要新增变量var4,只需在字典中添加"var4": ["P", "Q"]即可
  2. 笛卡尔积计算:itertools.product(*var_value_lists)会生成所有变量取值的全组合,确保不遗漏任何一种可能
  3. 格式化输出:用zip将变量名和对应取值配对,拼接成你需要的变量=值格式,每行输出一组完整组合

示例输出

运行代码后会输出:

var1=A, var2=X, var3=1
var1=A, var2=X, var3=2
var1=A, var2=Y, var3=1
var1=A, var2=Y, var3=2
var1=B, var2=X, var3=1
var1=B, var2=X, var3=2
var1=B, var2=Y, var3=1
var1=B, var2=Y, var3=2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:32:44