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



我有一个问题声明,我必须读取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...

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

找到答案了。实际上,在第一个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 

现在我可以在第二个循环中看到更新的数据。

相关内容

  • 没有找到相关文章

最新更新