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

如何计算含可取值2或3的X的列表的所有可能求和结果

实现方案

我们可以借助Python标准库itertools.product快速生成所有X的取值组合,再计算求和结果,代码如下:

import itertools

def calc_all_possible_sums(lst):
    # 计算非X元素的固定求和值
    base_sum = sum(item for item in lst if item != "X")
    # 统计X的个数
    x_num = lst.count("X")
    # 生成所有X的取值组合,每个位置可选2或3
    x_value_combs = itertools.product([2, 3], repeat=x_num)
    # 拼接所有求和结果转为元组
    return tuple(base_sum + sum(comb) for comb in x_value_combs)

测试验证

对示例输入a = [4, 5, "X", "X"]调用函数:

a = [4, 5, "X", "X"]
sums = calc_all_possible_sums(a)
print(sums)

输出结果为:

(13, 14, 14, 15)

完全匹配要求。

规则适配说明

  • 当列表中X数量为0时,itertools.product会生成1个空组合,最终返回仅包含固定和的1元素元组
  • 当X数量为n时,itertools.product自动生成2n个组合,返回的元组长度自动符合2n的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:09:02