Добавление ключей с одинаковыми именами во вложенный словарь в Python - PullRequest
0 голосов
/ 12 января 2019

Я имею дело с небольшой проблемой. Поэтому я хочу иметь словарь, который выглядит как этот файл 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 голосов
/ 12 января 2019

Ваш фрагмент кода составляет словарь словарей, а я полагаю, что вы хотите, чтобы он составил список словарей. Вместо этого вы можете сделать что-то подобное.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...