对嵌套列表中的行值求和

2024-04-28 22:37:56 发布

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

我刚开始学习python,就陷入了这个问题:

我有以下清单:

data = [
    ['Grinning', 2.26, 1.02, 87.3],
    ['Beaming', 19.1, 1.69, 150.0],
    ['ROFL', 25.6, 0.774, 0.0],
    ['Tears of Joy', 233.0, 7.31, 2270.0],
    ['Winking', 15.2, 2.36, 264.0],
    ['Happy', 22.7, 4.26, 565.0],
    ['Heart Eyes', 64.6, 11.2, 834.0],
    ['Kissing', 87.5, 5.13, 432.0],
    ['Thinking', 6.81, 0.636, 0.0],
    ['Unamused', 6.0, 0.236, 478.0],
    ['Sunglasses', 4.72, 3.93, 198.0],
    ['Loudly Crying', 24.7, 1.35, 654.0],
    ['Kiss Mark', 21.7, 2.87, 98.7],
    ['Two Hearts', 10.0, 5.69, 445.0],
    ['Heart', 118.0, 26.0, 1080.0],
    ['Heart Suit', 3.31, 1.82, 697.0],
    ['Thumbs Up', 23.1, 3.75, 227.0],
    ['Shrugging', 1.74, 0.11, 0.0],
    ['Fire', 4.5, 2.49, 150.0],
    ['Recycle', 0.0333, 0.056, 932.0]
]

我需要总结每行数字,例如:

"Grinning" sum = 2.26 + 1.02 + 87.3

我尝试了很多方法只获取行号,但没有找到一种方法可以正确工作,并且不会对所有列求和

我也试过:

totalemoji = 0
for i in range(len(data)):
    for i in range(1, 3):
        totalemoji += data[1][i] + data[1][i] + data[1][i]
print(totalemoji)

但它打印了一个我都认不出来的号码

如果有人能解释一下如何对每行数字求和,我将不胜感激


Tags: of方法infordatarange数字grinning
3条回答
x=[]
for i in range(len(data)):
    
    x.append([data[i][0], sum(data[i][1:])])
    
print(x)

这里x是listlist

选项1:不按要求提供sum

d = {}

for current_sub_list in data:
    current_list_sum = 0
    for j in range(1, len(current_sub_list)):
        current_list_sum += current_sub_list[j]
    d[current_sub_list[0]] = current_list_sum

print(d)

选项2:

d = {}

for x in data:
    d[x[0]] = sum(x[1:])

print(d)

用这个

[sum(i[1:]) for i in data]

相关问题 更多 >