我试着写一个魔兽世界拍卖行分析工具 对于每次拍卖,我的数据如下:
{
'timeLeftHash': 4,
'bid': 3345887,
'timestamp': 1415339912,
'auc': 1438188059,
'quantity': 1,
'id': 309774,
'ownerHash': 751,
'buy': 3717652,
'ownerRealmHash': 1,
'item': 35965
}
我希望将所有具有相同价值的dicts组合在一起" item"所以我可以获得minBuy,avgBuy,maxBuy,minQuantity,avgQuantity,maxQantity以及特定项目的组合拍卖总和。
我怎么能达到这个目的?
我已经尝试在第二个dicts列表中编写它,但是最后和最大值都丢失了......
答案 0 :(得分:1)
您可以尝试创建一个字典,其中键是项目ID,值是价格和数量元组的列表。
如果您想保留所有信息,您还可以创建一个字典,其中键是项目ID,值是与该ID对应的字典列表,并从那里通过生成器提取您想要的信息
答案 1 :(得分:1)
data = [
{'item': 35964, 'buy': 3717650, ...},
{'item': 35965, 'buy': 3717652, ...},
...
]
by_item = {}
for d in data:
by_item.setdefault(d['item'], []).append(d['buy'])
stats = dict((k, {'minBuy': min(v), 'maxBuy': max(v)})
for k, v in by_item.iteritems())