Skip to main content
 首页 » 编程设计

python之对列表列表中的元素求和并在 Python 中找到最大值

2025年05月04日13zfyouxi

我不知道该怎么做: 我有一个 list 的 list 定义如下:

list=[[day,type,expense],[...]]; 

天数和费用为int,类型为string

我需要找出每天的最大费用。一个例子:

list=[[1,'food',15],[4,'rent', 50],[1,'other',60],[8,'bills',40]] 

我需要对同一天的元素求和,找出开销最高的那一天。

结果应该是:

day:1, total expenses:75 

请您参考如下方法:

defaultdict 不是同样简单吗?

import pprint 
from collections import defaultdict 
from operator import itemgetter 
 
l = [[1, 'food', 15], [4, 'rent', 50], [1, 'other', 60], [8, 'bills', 40]] 
d = defaultdict(int) 
for item in l: 
    d[item[0]] += item[2] 
pprint.pprint(dict(d)) 
print max(d.iteritems(), key=itemgetter(1)) 

结果:

{1: 75, 4: 50, 8: 40} 
(1, 75)