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

如何用Python计算嵌套向量所有概率组合乘积及对应关联值

实现方案

我们可以用Python标准库的itertools.product生成所有路径的笛卡尔积,再分别计算概率乘积和对应附加元素的组合即可,完整代码如下:

from itertools import product

a = [ [[0.58, 0.0001], [0.43, 0.002]], 
      [[0.55, 0.1], [0.45, 0.2]], 
      [[0.7, 0.0021], [0.3, 0.2]] ]

result = []
# 生成所有层各选一个元素的路径组合
for path in product(*a):
    # 计算当前路径的概率乘积
    prob = 1.0
    attr_tuple = []
    for node in path:
        prob *= node[0]
        attr_tuple.append(node[1])
    result.append([prob, tuple(attr_tuple)])

# 输出结果
for item in result:
    print(item)

运行输出示例

[0.22329999999999998, (0.0001, 0.1, 0.0021)]
[0.0696, (0.0001, 0.1, 0.2)]
[0.18269999999999997, (0.0001, 0.2, 0.0021)]
[0.0568, (0.0001, 0.2, 0.2)]
[0.16555, (0.002, 0.1, 0.0021)]
[0.0516, (0.002, 0.1, 0.2)]
[0.13544999999999997, (0.002, 0.2, 0.0021)]
[0.0421, (0.002, 0.2, 0.2)]

代码说明

  • product(*a)会自动对a的每一层子列表做笛卡尔积,生成所有可能的路径组合,刚好对应树形结构的所有遍历路径
  • 遍历每一条路径时,逐节点累积概率乘积,同时收集每个节点的第二个元素拼成元组,最终组装成要求的输出格式
  • 如果需要处理浮点数精度问题,可以用round(prob, 6)之类的方法保留指定小数位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:36:05