将相同名称的键添加到Python中的嵌套字典中

时间:2019-01-12 06:10:46

标签: python dictionary nested

我正在处理一个小问题。所以我想要一个看起来像这个json文件的字典

{"matches":[
    {"gameId":2585563902,"platformId":"NA1"},
    {"gameId":2412534524,"platformId":"NA1"},
    {"gameId":2412534524,"platformId":"NA1"}
]}

如您所见,关键元素的名称相同,但值不同。

问题在于,如果不添加包含每个键和值的计数器,就无法在python中执行相同的操作。例如,我想为比赛创建10个键,其中包含gameId键和platformId键,并且代码看起来像这样

myDict = {}
myDict["matches"] = {}
for a in range (10):
    myDict["matches"][a] = {}
    myDict["matches"][a]["gameId"] = a
    myDict["matches"][a]["platformId"] = a

返回此

{'matches': {
0: {'gameId': 0, 'accountId': 0}, 
1: {'gameId': 1, 'accountId': 1}, 
2: {'gameId': 2, 'accountId': 2}
}}

虽然我了解json文件也使用了相同形式的计数器,但是它是“不可见的”,但我想知道是否可以在python3中做同样的事情

还是我的推理错了?

1 个答案:

答案 0 :(得分:0)

您的代码段正在制作字典词典,而我假设您希望它制作字典列表。您可以改为执行类似的操作。

myDict = {}
myDict["matches"] = []
for a in range (10):
    innerDict = {"gameId":a, "platformId":a}
    myDict["matches"].append(innerDict)

最后,如果您希望将其用作实际的json,则可以使用json标准库并使用dumps方法创建json对象

obj = json.dumps(myDict)