汇总数据库中的值

时间:2016-01-31 00:42:12

标签: python list dictionary sum

我有简单的数据库,条目由以下代码生成:

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()),但没有成功。

1 个答案:

答案 0 :(得分:0)

base是一个词典列表。您希望每个字典的price键时间为quantity键。 itervaluesdict个对象的一种方法,可以为您提供所有值,但您可以在列表base上调用它!

你想要的是对列表comp(或genexp,无论哪种方式)求和

total = sum([d['quantity'] * d['price'] for d in base])