首页 > 解决方案 > 对列表中每个元素的第一个变量求和

问题描述

我正在尝试对列表的每个元素中的第一项求和。

我尝试打印变量 sum 以查看发生了什么,它似乎给出了正确元素的列表。

这是我的代码:


def define_elements(points):
    for sublist in points:
        sum = 0 
        sum += sublist[0]
    return sum

print(define_elements(datapoints) ```

When I run the following code it prints -1. I'm looking for an answer of 10.

标签: pythonlistloopselement

解决方案


  • sum()- 接受一个迭代并返回其中项目的总和。它仅适用于数值,尝试将其与非数字类型一起使用会导致错误。

更多细节


datapoints = [(1, 1), (3, 3), (5, 5), (-1, -1)]
total = sum(i[0] for i in datapoints)
print(total)

输出/输出:

 8

或由 Gábor Fekete 建议

total = sum(list(zip(*datapoints))[0])

推荐阅读