【问题标题】:Adding keys of the same name into nested dictionary in Python在Python中将同名的键添加到嵌套字典中
【发布时间】:2019-01-12 06:10:46
【问题描述】:

我正在处理一个小问题。所以我想要一个看起来像这个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 中做同样的事情

或者我的推理是错误的?

【问题讨论】:

标签: python dictionary nested


【解决方案1】:

您的代码 sn-p 正在制作字典字典,而我假设您希望它制作字典列表。你可以这样做。

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)

【讨论】:

    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多