2013-07-13 58 views
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

切片它:'somelist [3:]' – JBernardo

+0

我试图运行你的代码,并得到了一个语法错误。 – Marichyasana

回答

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 
0

有点简洁版本

sum(int(nums) for inn in mylist for nums in inn[3:]) # 4 
相关问题