我有简单的数据库,条目由以下代码生成:
base += [{
'name': name,
'quantity': int(quantity),
'price': float(price)
}]
magazine_base['base'] = base
magazine_base.close()
我使用以下方式打印:
print "|%16s |" % entry['name'],'%14s' % entry['quantity'],'|' '%15s' % entry['price'],'|''%15s' % float(float(entry['price'])*float(entry['quantity'])),'|'
我想总结一下(数量*价格)的最后一栏
我正在尝试使用sum(base.itervalues()),但没有成功。
答案 0 :(得分:0)
base
是一个词典列表。您希望每个字典的price
键时间为quantity
键。 itervalues
是dict
个对象的一种方法,可以为您提供所有值,但您可以在列表base
上调用它!
你想要的是对列表comp(或genexp,无论哪种方式)求和
total = sum([d['quantity'] * d['price'] for d in base])