基于python中的两个数据成员聚合对象

时间:2013-07-08 07:45:16

标签: python list aggregate

我有一个对象列表(每个对象包含3个数据成员)和一个集合名称列表。 对象成员是: 集合名称, 收集路径, 使用的字节。

我想基于两个数据成员的“集合名称”和“集合路径”(两种字符串类型)聚合某些值(例如“使用的字节数”),以便“集合名称”出现在集合名称列表中

所以输出必须是这样的:

集合名称|收集路径|字节

1 个答案:

答案 0 :(得分:0)

您可以使用defaultdict将密钥作为(名称,路径)的元组。类似的东西:

from collections import defaultdict
d = defaultdict(int)
for item in collection:
    d[(item.name, item.path)] += item.bytes