gpt4 book ai didi

python - 附加字典列表,其中一个字典中包含一个附加键,并且一个嵌套字典作为其值

转载 作者:行者123 更新时间:2023-12-01 00:46:05 25 4
gpt4 key购买 nike

我有一个架构,并且有一个应该位于其中的嵌套字段列表。基本上,我所拥有的是:

[{'name': 'a', 'type': 'string'}, 
{'name': 'b', 'type': 'string'},
{'name': 'c', 'type': 'string'},
{'name': 'd', 'type': 'string'},
{'name': 'e', 'type': 'string'},
{'name': 'attr', 'type': 'string'},
{'name': 'f', 'type': 'string'},
{'name': 'g', 'type': 'string'},
{'name': 'h', 'type': 'string'},
{'name': 'i', 'type': 'string'},
{'name': 'j', 'type': 'string'},
{'name': 'k', 'type': 'string'}]

但是当“名称”为“attr”时,我想向其中添加另一个字典 k-v 对,键为“字段”,值作为另一个嵌套的字典列表,格式与上面的相同。这将使它看起来像:

[{'name': 'a', 'type': 'string'}, 
{'name': 'b', 'type': 'string'},
{'name': 'c', 'type': 'string'},
{'name': 'd', 'type': 'string'},
{'name': 'e', 'type': 'string'},
{'name': 'attr', 'type': 'string', 'fields': [{'name': 'aa',....}],
{'name': 'f', 'type': 'string'},
{'name': 'g', 'type': 'string'},
{'name': 'h', 'type': 'string'},
{'name': 'i', 'type': 'string'},
{'name': 'j', 'type': 'string'},
{'name': 'k', 'type': 'string'}]

下面,master_schema_set 和nestedschemaset 都只是我转换的集合。

finalschema = [{'name':l} for l in master_schema_set]
finalschemanested = [{'name':l} for l in nestedschemaset]

for i in finalschema:
i.update({"type":'string'}) #all types will always be string
for item,val in i.items():
if val == 'attr':
i.update({'fields':finalschemanested})

运行此命令会出现错误“字典在迭代期间更改了大小”,但最终这就是我想要的。实现这一目标的更好方法是什么?

最佳答案

尝试:

for i in finalschema:
i.update({"type":'string'}) #all types will always be string
if i['name'] == 'attr':
i.update({'fields':finalschemanested})
  • 注意:由于错误状态,请勿在迭代对象时尝试更新 dict。

关于python - 附加字典列表,其中一个字典中包含一个附加键,并且一个嵌套字典作为其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56971883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com