【发布时间】:2021-08-01 16:03:54
【问题描述】:
我有一个问题陈述,我必须在其中读取一个 JSON 文件。使用 json.loads() 转换为字典的 JSON 文件有 12 个键。
其中一个键('body')具有字符串类型的值。当使用 json.loads() 再次将此字符串转换为字典时,会产生一个字典列表。此字典列表的长度为 1000,而其中的每个字典的长度为 24。
我需要增加字典的数量,以便我的字典列表的新长度为 2000。其中每个长度为 24 的字典都有一个需要唯一的键('id')。
现在,这是我的代码 sn-p,如果我的键值为“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...
现在,当我再次尝试查看更新后的值时,我只能看到以前的值。 这是代码sn-p:
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...
而我想要上面的输出,因为我已经更新了值。
【问题讨论】:
-
请解释您的意思是“我需要增加字典的数量,以便我的字典列表的新长度为 2000。现在,每个长度为 24 的字典都有一个键( 'id') 必须是唯一的。”你怎么从1000到2000?您是否只想复制原始 1000 个中的每一个?您想要什么格式的密钥?
-
是的,我想复制数据,但如果我只是手动复制粘贴,则 key('id') 值不会是唯一的。键值是整数类型
-
字典键必须是唯一的!!!!您是要保留原始密钥并添加第二个仅是整数的密钥,还是要通过附加整数来更改原始密钥?
-
我想在此处更改 key('id') 的值,以便可以在此处复制粘贴旧的键值对集。这样做可以帮助我增加字典的长度,而我的 key('id') 值在整个过程中也是唯一的。
标签: json python-3.x dictionary