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

多列表值均衡化:保持子列表和不变,统一id对应值

场景

我有若干长度不一的嵌套列表(非严格矩阵),第一组嵌套列表存储各条目的ID(实际为数据库表主键):

['a', 'b', 'c', 'd', 'e']
['b', 'e', 'f', 'g']
['h', 'i', 'j']
['b', 'i', 'k', 'l']

每个子列表长度可变,ID可出现在多个子列表中,但同一子列表内ID唯一。

对应存在另一组维度完全一致的数值型嵌套列表,每个子列表的总和固定为20.0:

[3.2, 3.2, 5.1, 6.8, 1.7] # 总和:20.0
[2.8, 6.7, 8.4, 2.1]      # 总和:20.0
[9.7, 7.3, 3.0]           # 总和:20.0
[4.3, 1.8, 8.7, 5.2]      # 总和:20.0

将同一ID对应的数值求和,可得到各ID的累计值。

需求

在**保持每个子列表总和固定(示例中为20.0)**的前提下,尽可能均衡化每个ID的累计值,理想状态下所有ID的累计值相等(示例中x=20.0×4/12≈6.67,4是子列表总数,12是ID总数)。

现有尝试

已编写Python代码从数据库获取数据并初始化数值矩阵,实现了ID累计值计算、极值ID查找功能。尝试通过迭代调整:计算ID累计值→查找极值ID→调整极值ID对应的数值→【卡壳】无法同步调整子列表内其他数值以维持总和不变→重复操作直至收敛。手动调整时ID累计值能接近理想值,但子列表总和会偏离固定值。

问题

  • 当前这种迭代调整的算法是否可行?
  • 若可行,如何实现子列表内其他数值的同步调整,以维持子列表总和不变?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:42:35