在列表字典中添加每个列表的相应元素,并将结果存储到列表中

2024-09-27 04:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本清单字典:

 percent = {'l1': [0, 0, 0, 0, 0, 0, 0, 0, 0],
       'l2': [-16, -16, -16, -16, 0, 0, 0, 0, 0],
       'l3': [0, 0, 0, 0, 0, 0, 0, 0, 0],
       'l4': [0, 0, 0, 0, 0, 0, 0, 0, 0],
       'l5': [0, 0, 0, 0, 0, 0, 0, 0, 0],
       'l6': [0, 0, 0, 0, 0, 0, -16, 0, 0],
       'l7': [0, 0, 0, 0, 0, 0, 0, 0, -48],
       'l8': [0, 0, 0, 0, 0, 0, 0, -12, -20]
       }

我想添加所有列表的第一个元素,并将结果存储为list result=[]的第一个元素,并分别存储为其他元素

有人能帮我吗


Tags: 元素l1列表字典resultlistpercentl3
3条回答

您可以将其作为嵌套列表编写:

results = [sum([l[i] for l in percent.values()]) 
           for i in range(len(list(percent.values())[0]))]

这相当于:

results = []

for i in range(len(list(percent.values())[0])):
    s = 0
    for l in percent.values():
        s += l[i]
    results.append(s)

len(list(percent.values())[0])用于动态查找字典中列表的长度

[sum(x) for x in zip(*percent.values())]

无需使用任何外部模块,这可以以非常简单的方式完成。由于所有不同键的值中有9个元素,因此需要进行简单的迭代:

result = []

for i in range(9):
    total = 0
    for key,value in percent.items():
        # On each iteration, it selects the `ith` element from each list and adds to `total` variable.
        total += value[i]
    result.append(total)
   

相关问题 更多 >

    热门问题