在一个代码行中计算多个产品的TVA税(python)

2024-10-04 11:32:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份包含产品的清单:

products = [{'name' : 'art1','amount':2000, 'qty':2, 'tax':['tax_15', 'tva']} ,
    {'name' : 'art2','amount':2500, 'qty':3, 'tax':['tax_15', 'timbre']},
    {'name' : 'art3','amount':3000, 'qty':4, 'tax':['tva']}] 

一份包含税收的清单:

^{pr2}$

我想计算所有产品的tva,在这个例子中,tva只存在于art1和art3中,在本例中:
tva = (2000 * 17%) + (3000 * 17%)

我想用一行python代码计算tva,我试着用这行代码:

^{3}$

Tags: 代码name产品amount例子税收productsqty
2条回答

经过仔细搜索,我找到了答案:

sum([item['amount']*tax['amount'] for item in products if 'tva' in item['tax'] for tax in taxes if tax['name']=='tva'])

dict contains taxes列表只有两个值。您可以使用dict代替list。重建您的税收列表以dict of taxes,它使用name作为键

taxes_dict = {}
for tax in taxes:
    taxes_dict[tax['name']] = tax

因此,您可以在一行中计算tva,以便:

^{pr2}$

请再核对一下你的单子。nameqty和{}应该是'name''qty'和{}

相关问题 更多 >