在字典中执行电源操作

时间:2016-08-13 23:58:40

标签: python dictionary

 dict1 = {'A': 2,'B': 4,'C': 6}

我希望新词典成为dict1平方的值。

 dict2 = {'A': 4,'B': 16,'C': 36}

尝试使用

for k in dict1.keys():
    value = dict[k]
    for k1 in value.keys():
        value[k1] =  value**2     # also tried pow(value,2.)

我得到的错误是AttributeError:' float'对象没有属性'键'。我有什么想法吗?

2 个答案:

答案 0 :(得分:3)

首先需要创建dict2

dict2 = {}

然后,您可以使用dict1

的键和值填充它
for key in dict1.keys():
    dict2[key] = dict1[key] ** 2

或者在一行中:

dict2 = {key: value ** 2 for key, value in dict1.items()}

答案 1 :(得分:3)

你可以使用像这样的词典理解(python 2)迭代你的旧词典:

>>> dict1 = {'A': 2,'B': 4,'C': 6}
>>> dict2 = {k:v**2 for k,v in dict1.iteritems()}
>>> dict2
{'A': 4, 'C': 36, 'B': 16}

请注意,对于python 3:

>>> dict2 = {k:v**2 for k,v in dict1.iteritems()}

变为

>>> dict2 = {k:v**2 for k,v in dict1.items()}