【问题标题】:Python: creating a function from dictionaryPython:从字典创建一个函数
【发布时间】:2011-04-03 05:19:59
【问题描述】:

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

【问题讨论】:

  • 这是作业吗?它的精确定义令人怀疑。

标签: python function dictionary


【解决方案1】:

如果你的数据是这样的:

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)

【讨论】:

    【解决方案2】:
    >>> 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})
    

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2018-04-23
      • 1970-01-01
      • 2014-10-02
      相关资源
      最近更新 更多