2014-11-14 2 views
0

사람들이 원하는만큼의 목록을 하나의 큰 목록으로 저장하는 코드가 있습니다. 내가 할 수 있기를 원하는 것은 주 목록의 각 하위 목록에 대해 마지막 항목의 합계를 찾습니다.이 경우 각 하위 목록에는 [제품 이름, 단위, 비용, 가격]의 개체가 4 개 뿐인 다음 그것의 단위로.목록에서 특정 항목의 합계를 찾는 파이썬 방법

for item in mainList: 
    expectedProfit = (sum(item[3])) * (item[1]) 

우연히이 할 수있는 청소기 방법이 있나요, 또는 내 접근 방식에서 벗어나는 방법입니다 : 내가 좋아하는 노력의 라인을 따라 생각하고 있었어요? 그것은 (단위 수에 의해 item[1]을 마지막 항목 (가격)를 곱 것, 그래서

expected_profit = sum(item[-1] * item[1] for item in mainList) 

각 항목에 대한 mainList에서 :

답변

2

다음 sum()에 그 결과를 전달 곱셈을 수행하는 발전기 식을 사용하여), 그리고 그 모든 것들이 더해진다.

데모 :

>>> mainList = [ 
...  # product, count, cost, price 
...  ['Frobnar', 3, 2.55, 4], 
...  ['Fooznib', 20, 0.66, 2.5], 
...  ['Spam (canned)', 5, 3.98, 6.99], 
... ] 
>>> sum(item[-1] * item[1] for item in mainList) 
96.95 
관련 문제