如何在Python列表列表中计算每个列表的总数

时间:2019-08-18 12:43:12

标签: python arrays list

我收集了一个列表列表,每个列表代表一天中的数据。我需要找到这些总和以计算每天的总交易量。我似乎只能将每个列表加在一起,而不是单个列表数据。

提供所有列表的总数,而不是每个单独列表的总数。

for ele in range(0, len(y_pred)): 
    total = total + y_pred[ele] 


print (total)

预期有18个输出,每个列出总和,而不是一个包含所有总和的输出。

4 个答案:

答案 0 :(得分:2)

使用mapsum

sums = list(map(sum, list_of_lists))

其中list_of_lists是包含其他列表的列表。现在,sums是一个包含每个子列表之和的列表。要获取全部金额,请再次将sum与新的sums列表一起使用:

sum(sums)

答案 1 :(得分:2)

首先,您无需在Python中使用此模式:

for ele in range(0, len(y_pred)):  # let's not use "ele" as a var name, btw. confusing
    total = total + y_pred[ele]   

因为您可以只写:

for element in y_pred: 
    total = total + element

无论如何,您可以使用map作为另一个建议,但是最简单的方法是仅扩展现有模式。由于列表中有一个列表,因此有两个列表可以迭代:

for sub_list in mega_list:
    for element in sub_list:
        total += element

答案 2 :(得分:1)

只使用总和。

const fs = require('fs'),
    sharp = require('sharp'),
    tempWrite = require('temp-write');

module.exports = {
    toCircle: (base64String, width) => new Promise((resolve, reject) => {
        const imageBuffer = Buffer.from(base64String, "base64"),
            tmpImage = tempWrite.sync('', 'tmp.webp'),
            r = width / 2,
            circleShape = Buffer.from(`<svg><circle cx="${r}" cy="${r}" r="${r}" /></svg>`);

        sharp(imageBuffer)
            .resize(width, width)
            .composite([{
                input: circleShape,
                blend: 'dest-in'
            }])
            .webp()
            .toFile(tmpImage, (err) => err ?
                reject(err.message) :
                resolve(fs.createReadStream(tmpImage))
            );
    })
};

答案 3 :(得分:1)

您可以在sum循环中使用for

total = []   
for i in list_of_lists:
    total.append(sum(i))

print(total)