1

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

mylist = [
    ['name', 'party', 'city', '0', '0', '1'],
    ['name', 'party', 'city', '1', '1', '1']
]

我想计算从位置 3 开始的数字的总和。我知道在将元素转换为 int 后如何计算 lis 元素的总和。

sum(int(mylist[i])) for i in range(len(mylist))

但是我怎样才能告诉 python 从位置 3 开始求和(数字从哪里开始?)。

4

2 回答 2

0

有点简洁的版本

sum(int(nums) for inn in mylist for nums in inn[3:]) # 4
于 2013-07-13T23:48:49.393 回答
0

使用列表切片:

mylist = [['name','party','city','0','0','1'],['name','party','city','1','1','1']]

print sum([sum(map(int, item[3:])) for item in mylist])  # prints 4
于 2013-07-13T20:41:10.103 回答