如何计算 Python 中多供应商的运费?

How to calculate shipping costs for a multi-vendor in Python?

如何计算 Python 中多供应商的运费?

这是我购物车中的数据:

cart =  {"line1" : {'vendor1': 1.2,'shipping_cost': 10000,'city': "Manchester",},
         "line2" :  {'vendor2': 2,'shipping_cost': 20000,'city': "Liverpool",},
         "line3" : {'vendor1': 1.2,'shipping_cost': 10000,'city': "Manchester",},
         "line4" :  {'vendor2': 3,'shipping_cost': 20000,'city': "Liverpool",},
}

我想按供应商计算运费如下:

(vendor1 + vendor1) *  shipping_cost = 2.4 * 10.000 = 24.000
(vendor2 + vendor2) *  shipping_cost = 5 * 20.000 = 100.000

如何在python

中实现这个计算

您可以创建一个字典来存储成本。 您可以获得该词典的供应商密钥并分配该值的总成本。

cart =  {"line1" : {'vendor1': 1.2,'shipping_cost': 10000,'city': "Manchester",},
         "line2" :  {'vendor2': 2,'shipping_cost': 20000,'city': "Liverpool",},
         "line3" : {'vendor1': 1.2,'shipping_cost': 10000,'city': "Manchester",},
         "line4" :  {'vendor2': 3,'shipping_cost': 20000,'city': "Liverpool",},
}

cost = {}
for sale in cart.values():
    vendor = [key for key in sale.keys() if 'vendor' in key][0]
    if vendor in cost.keys():
        cost[vendor] += sale['shipping_cost']*sale[vendor]
    else:
        cost[vendor] = sale['shipping_cost']*sale[vendor]
print(cost)