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

如何从表示决策树可选路径的2D列表生成所有对应1D路径列表

实现方案

核心思路

你需要的是各层可选值的笛卡尔积,使用Python标准库itertools.product即可实现,无需用到排列函数。

具体代码实现

import itertools

def generate_all_paths(pattern):
    # 预处理每一层:非列表类型视为固定值,包装为单元素列表
    processed = []
    for item in pattern:
        if isinstance(item, list):
            processed.append(item)
        else:
            processed.append([item])
    # 求笛卡尔积,返回列表格式的结果
    return [list(path) for path in itertools.product(*processed)]

使用示例

示例1:方向标识场景

L = "L"
R = "R"
pattern = [[L, R], L]
print(generate_all_paths(pattern))

输出结果:

[['L', 'L'], ['R', 'L']]

示例2:混合多数据类型场景

# 模式包含布尔、整数、字符串可选值
pattern = [[True, False], 2024, ["pass", "fail"]]
print(generate_all_paths(pattern))

输出结果:

[[True, 2024, 'pass'], [True, 2024, 'fail'], [False, 2024, 'pass'], [False, 2024, 'fail']]

方案说明

  • 自动兼容任意数据类型的可选值,包括布尔值、整数、字符串、自定义对象等,无需额外适配
  • 支持任意长度的模式数组,匹配N层决策树的使用场景
  • 生成的路径顺序和各层可选值的顺序完全对应,可直接用于字典键的生成逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:24:03