Python:从字典创建一个函数

时间:2011-04-03 05:20:00

标签: python function dictionary

如何创建一个从2给定字典计算总值的函数

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})