我想创建一个json转储,其中包含某些数据(此处为值)我应该从for循环中获取:
Dumps = {
"field1": value1,
"field2": value2,
"field3":{.
.
"field33":[{
"param331": value, "param332": value,
"param331": value, "param332": value,
"param331": value, "param332": value
}]
}
}
我将param331和param332的值存储在一个数组中 但是没有弄清楚如何从数组myTab中提取它们,将它们分配给它们的字段并保持所需的格式。 我试过了
..."field33":[{
for i in range (0, len(myTab)):
"param331": myTab[i]-5.0,"param332":myTab[i]+5.0,
}]
但这是不可接受的,我也尝试在转储之外创建field33但是哪个结构或类型?如果同一个分配是我得到的转储:无法连接' str' (" param331")和'浮动' (myTab的值)对象。 任何帮助表示赞赏。
答案 0 :(得分:0)
Python字典和JSON对象都不支持重复键。您可以选择创建单独的词典或将所有值一起列在列表中。
在列表中创建单独的词典可以使用列表解析来完成:
[{"param331": tab - 5.0, "param332": tab + 5.0} for tab in myTab]
生成字典列表:
[{"param331": value, "param332": value},
{"param331": value, "param332": value},
{"param331": value, "param332": value}]
myTab
列表中的每个条目一个。
如果您只想要两个键的一个字典,请将列表生成为这些键的值:
[{"param331": [tab - 5.0 for tab in myTab],
"param332": [tab + 5.0 for tab in myTab]}]
这使用两个列表推导,并产生:
[{"param331": [value, value, value], "param332": [value, value, value]}]