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'对象没有属性'键'。我有什么想法吗?
答案 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()}