如何创建一个从2给定字典计算总值的函数
答案 0 :(得分:2)
如果你的数据是这样的:
Part = collections.namedtuple('Part', 'key name price')
parts = {
'WH239': Part('WH239', 'Mountain Bike Wheel', 5000),
'TR202': Part('TR202', 'Mountain Bike Tire', 2000),
'TU277': Part('TU277', 'Mountain Bike Tube', 2000),
'FR201': Part('FR201', 'Mountain Bike Frame', 60000),
}
Product = collections.namedtuple('Product', 'key name parts')
product = Product(
'bike201',
'Mountain Bike',
[('WH239', 2), ('TR202', 2), ('TU277', 2), ('FR201', 1)]
)
然后你可以这样做:
product_price = sum(n*parts[part_name].price for part_name, n in product.parts)
答案 1 :(得分:0)
>>> from collections import Counter
>>> d1 = dict(a=1, b=2)
>>> d2 = dict(a=2, b=1, c=3)
>>> c = Counter(**d1)
>>> c.update(**d2)
>>> c
Counter({'a': 3, 'c': 3, 'b': 3})