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

如何通过多组列表数值计算生成嵌套列表(list of lists)

问题:生成指定嵌套列表结果

给定三个嵌套列表E、I、Des和一个一维列表DesPro,需要通过计算式S = (E + I - Des) / DesPro生成目标嵌套列表。

给定数据

E = [[352,281,230,158], [55,36,57,287], [89,65,86,25], [182,236,243,82], [214,221,344,54], [1856,2537,2443,1523]] 
I = [[0,0,0,0], [11,0,0,0], [640,0,0,35], [0,679,0,0], [0,0,1281,95], [0,5988,0,0]] 
Des = [[18,70,52,72], [55,36,57,287],[89,65,86,25], [182,236,243,82], [214,221,344,54], [1856,2537,2443,1523]] 
DesPro = [25,49,92,250,264,2130]

其他参数

n = 6 # 嵌套列表的数量
t = 4 # 每个子列表的元素个数

尝试的代码

for i in range(n):
  for t in range(T):
    S = (E[i][t] + I[i][t] - Des[i][t]) / DesPro[i]
    print(S)

预期结果

[[13.36, 8.44, 7.12, 3.44], [0.22448979591836735, 0.0, 0.0, 0.0], [6.956521739130435, 0.0, 0.0, 0.3804347826086957], [0.0, 2.716, 0.0, 0.0], [0.0, 0.0, 4.8522727272727275, 0.35984848484848486], [0.0, 2.8112676056338026, 0.0, 0.0]]

实际输出

13.36
8.44
7.12
3.44
0.22448979591836735
0.0
0.0
0.0
6.956521739130435
0.0
0.0
0.3804347826086957
0.0
2.716
0.0
0.0
0.0
0.0
4.8522727272727275
0.35984848484848486
0.0
2.8112676056338026
0.0
0.0

解决方案

原代码仅逐个计算并打印单个数值,未构建嵌套列表结构。需要初始化空列表存储最终结果,外层循环创建子列表,内层循环计算元素并添加到子列表,最后将子列表加入结果列表。同时注意避免变量名冲突:原代码中参数t与内层循环变量t重复,需修改为其他名称(如j)。

修改后的代码:

n = 6
t = 4
result = []  # 初始化空列表存储最终嵌套结果

for i in range(n):
    sub_list = []  # 每次外层循环创建新的子列表
    for j in range(t):
        value = (E[i][j] + I[i][j] - Des[i][j]) / DesPro[i]
        sub_list.append(value)
    result.append(sub_list)

print(result)

运行后即可得到预期的嵌套列表结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:50:16