0

我有一个 csv 列表列表,例如:

[[0, 0], [0, 2], [1, 1], [2, 0], [0, 3], [1, 2], [2, 1], [3, 0]]

我想要做的是对每个单独的列表求和,即创建一个由每个逗号分隔变量求和的新列表,并检查它们是否等于某个值,即:

检查 [0+0,0+2,1+1,2+0..... 是否等于某个数字

我已经做到了:

 if sum(gcounter)==3:
   gamma=True
   print(gamma)
 else:
   pass

我已经尝试过 sum(int ...,并尝试使用 for 循环等,但每次尝试不同的方法时它都会抛出相同的错误 TypeError: unsupported operand type(s) for +: 'int' and 'list'所以这是 sum 函数的问题

坦率地说,试图解决这个问题让我感到无精打采,非常感谢任何帮助!!!

4

1 回答 1

6

您是否正在寻找类似的东西:

>>> lst = [[0, 0], [0, 2], [1, 1], [2, 0], [0, 3], [1, 2], [2, 1], [3, 0]]
>>> print ([x for x in lst if sum(x) == 3])
[[0, 3], [1, 2], [2, 1], [3, 0]]

本质上,我一次循环lst获取一个子列表。我对子列表求和,如果它等于 3,我将子列表保留在输出列表中。

于 2013-05-03T13:14:40.417 回答