2013-07-13 82 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 
相關問題