更新字典深处的字典值

时间:2014-01-04 15:25:19

标签: python dictionary iteration

我正在尝试将字典添加到字典中。我的错误在哪里?

我得到的错误是:

TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

我希望更新我的词典“myD”。目前它包含一组没有值的键。我想用另一个词典中找到的值(其他词典)来更新键。

input = {{"1":""},{"2":""},{"3":""}}
ExpectedOutput = {{"1":{"dd":"bb"}},{"2":{"dd":"bb"}},{"3":{"dd":"bb}"}}

dic2是字典键。我相信它在我打电话时变成了一个字符串。所以我们说dic2是字符串。

def fn():
    for key,value in d1.iteritems():
        if "data" == key:
            for dic2, value in value.iteritems():
                s1[dic2] = ""
                for k1 in value:
                    s1.update[dic2](k1) # <=============

我认为可能是因为字符串?

2 个答案:

答案 0 :(得分:1)

您正在覆盖value

for dic2, value in value.iteritems():

您要为value分配一个新值,以便value.iteritems()失败

答案 1 :(得分:-1)

value.iteritems()这是错的。 value是字符串,实际上如果我运行你的代码我得到:

for key, value in value.iteritems():
AttributeError: 'str' object has no attribute 'iteritems'