-1

製品を含むdictのリストがあります:

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']}] 

dict のリストには tax が含まれます:

taxes = [{'name' : 'tax_15','amount':15} ,
    {'name' : 'tva','amount':17},
    {'name' : 'timbre','amount':10}] 

すべての製品の tva を計算したいのですが、この例では、tva は art1 と art3 だけに存在します。
tva = (2000 * 17%) + (3000 * 17%)

Pythonコードの1行でtvaを計算したいので、次の行で試しました:

sum([t['amount']*t['qty']*tax_of_tva_if_exist_in_this_product  for t in products])
4

2 に答える 2

0

ハード検索の後、私は応答を見つけます:

sum([item['amount']*tax['amount'] for item in products if 'tva' in item['tax'] for tax in taxes if tax['name']=='tva'])
于 2016-07-10T11:01:35.960 に答える