编写支持可变数量变量的全值组合生成代码
生成变量取值的所有组合(支持任意数量变量)
你可以用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)
代码说明
- 灵活配置变量:通过字典
variables可以自定义任意数量的变量,以及每个变量对应的取值集合,比如要新增变量var4,只需在字典中添加"var4": ["P", "Q"]即可 - 笛卡尔积计算:
itertools.product(*var_value_lists)会生成所有变量取值的全组合,确保不遗漏任何一种可能 - 格式化输出:用
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
相关产品推荐
相关产品推荐

