访问同一字典中的字典键值

时间:2013-11-17 14:20:12

标签: python dictionary

可能是一个愚蠢的问题,但我想知道一些事情:

假设我有以下词典:

dict = {
   'nr_one' : 5,
   'nr_two' : 6,
   'nr_three' : *sum of the above numbers*
}

字典中是否有self的东西允许我声明一个新的键,其中的值是带有两个字典值的操作的结果?

1 个答案:

答案 0 :(得分:3)

实际上,没有。这是非常抽象的,为什么两个数字?为什么不是三个值?如果您想要更多的值,或只需要三个第一个值,该怎么办?

但就添加值而言,您可以使用sum添加所有数字:

my_dict['total'] = sum(value for value in my_dict.values())

另外,请记住避免命名字典dict,它将覆盖具有相同名称的内置函数。

顺便说一句,演示:

>>> my_dict = {'a':1, 'b':2, 'c': 3, 'd':4}
>>> my_dict['total'] = sum([value for value in my_dict.values()])
>>> my_dict
{'a': 1, 'c': 3, 'b': 2, 'd': 4, 'total': 10}

要进行其他类型的基本操作,您必须创建自己的功能。例如,乘以:

>>> def multiply(d):
    values = d.values()
    result = 1
    for v in d.values():
        result *= v
    return result

>>> multiply(my_dict)
240 
#shorter version, as @hcwhsa suggested:
>>> import operator
>>> reduce(operator.mul, my_dict.values())
240