我需要解析字典并更新其值

时间:2021-08-01 16:03:54

标签: json python-3.x dictionary

我有一个问题陈述,我必须在其中读取 JSON 文件。使用 json.loads() 转换为字典时的 JSON 文件有 12 个键。 其中一个键('body')具有字符串类型的值。使用 json.loads() 将此字符串再次转换为字典时,会生成字典列表。 此字典列表的长度为 1000,其中每个字典的长度为 24。

我需要增加字典的数量,以便我的字典列表的新长度为 2000。

现在,每个长度为 24 的字典都有一个需要唯一的键('id')。

现在,这是我的代码片段,如果我的键值为“id”,我将尝试更新字典的值:

val = 1
    
    for each_dict in list_of_dictionary:
        for k,v in each_dict.items():
            if k == 'id':
                v = val
                print("value is ",v)
                val = val+1
                
O/P
value is 1
value is 2 
and so on...

现在,当我再次尝试查看更新后的值时,我只能看到以前的值。 这是代码片段:

for each_dict in list_of_dictionary:
        for k,v in each_dict.items():
            if k == 'id':
                print("value is ",v)
                
                
O/P
value is 11123
value is 11128
and so on...

而我想要上面的输出,因为我已经更新了值。

预先感谢您的帮助:-)

1 个答案:

答案 0 :(得分:0)

得到了答案。实际上在第一个 for-in 循环中,我意识到我忘记更新字典,这就是为什么在第二个循环中,我看不到更新的数据。所以第一个 for 循环的更新代码是:

val = 1 
for each_dict in list_of_dictionary: 
    for k,v in each_dict.items(): 
        if k == 'id': 
            temp = {k, val} 
            each_dict.update(temp)
            val = val+1 

现在我可以在第二个循环中看到更新的数据。感谢兄弟的帮助!