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

编写通用脚本遍历任意结构字典的数组组合并调用函数

通用字典元素组合遍历与函数调用方案

核心思路

利用Python标准库itertools.product生成字典内所有数组的笛卡尔积,自动遍历所有元素组合,无需手动编写嵌套循环,适配任意结构的{key: array}型字典。

实现代码

import itertools

def my_fun(temp_dict):
    # 此处替换为你实际的my_fun业务逻辑,示例仅打印临时字典
    print(temp_dict)

def process_dict(input_dict):
    # 提取字典的键列表与对应数组列表
    keys = list(input_dict.keys())
    arrays = list(input_dict.values())
    
    # 生成所有数组元素的笛卡尔积组合
    for combo in itertools.product(*arrays):
        # 构造临时字典
        temp_dict = dict(zip(keys, combo))
        # 调用目标函数
        my_fun(temp_dict)

使用示例

假设有测试字典:

dict_1 = {
    'color': ['red', 'blue'],
    'size': ['S', 'M'],
    'style': ['casual', 'formal']
}

# 调用通用处理函数
process_dict(dict_1)

运行后会自动生成并传入全部8种组合的临时字典到my_fun。

方案优势

  • 完全通用:无论字典包含多少键、每个数组长度如何,都能自动处理所有元素组合
  • 避免重复编码:200个不同结构的字典只需调用同一个process_dict函数即可
  • 代码简洁:依赖标准库工具替代手动多层嵌套循环,可读性与维护性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:02:42