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

Python如何遍历字典多组值生成指定格式的文件名组合列表

Python 字典多值全组合生成文件名列表实现方案

直接使用Python标准库itertools.product生成多组值的笛卡尔积(即所有排列组合),再按指定格式拼接文件名即可,无需手动计算组合总数,代码简洁不易出错。

完整实现代码

import itertools

thisdict = {
  "V": [20,40,60,80],
  "F": [0.1,0.2],
  "T": [4,3]
}

fileList = []
# 生成所有参数值的全组合
for value_pair in itertools.product(*thisdict.values()):
    # 按「值+键」的格式拼接每个参数段
    param_segment = "_".join(f"{val}{key}" for key, val in zip(thisdict.keys(), value_pair))
    fileList.append(f"Run_Name_{param_segment}")

效果验证

  • 执行后len(fileList)输出为16,和422的总组合数一致
  • 列表内元素格式完全匹配要求,前两项输出为:Run_Name_20V_0.1F_4T、Run_Name_20V_0.1F_3T,覆盖所有参数组合

自定义顺序调整

如果Python版本低于3.7(字典不默认保留插入顺序),或者需要调整参数在文件名中的排列顺序,可以手动指定键的遍历顺序,示例代码如下:

import itertools

thisdict = {
  "V": [20,40,60,80],
  "F": [0.1,0.2],
  "T": [4,3]
}
# 手动指定参数拼接顺序
key_order = ["V", "F", "T"]
value_groups = [thisdict[key] for key in key_order]

# 用列表推导式直接生成结果
fileList = [
    f"Run_Name_{'_'.join(f'{val}{key}' for key, val in zip(key_order, comb))}"
    for comb in itertools.product(*value_groups)
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 02:42:10