def get_list(name, ids):
single_database = {}
database = []
for id in ids:
single_database['id'] = id
single_database['name'] = name
database.append(single_database.copy())
return database
input = [{'name': 'David', 'id': ['d1','d2']},
{'name':'John', 'id': ['j1','j2']}]
for single_database in input:
get_list(single_database['name'], single_database['id'])
こんにちは、 私は上記の "入力"配列を辞書のリストに変換したいので、変換するコードを書きました。ただし、 "get_list"関数は最後の辞書のみを解放します。だから、どのように辞書のすべてのリストを取得し、 "get_list"関数を使用し続ける。また、私の方法を除いて、この入力をより速く変換する方法はありますか?Python 3:配列を辞書のリストに変換するには?
これは私が欲しい出力されます:これは
list_of_dicts = [
{'id': id, 'name': d['name']}
for d in input
for id in d['id']
]
以上の冗長な形式で動作するはず
{'id': 'd1', 'name': 'David'}
{'id': 'd2', 'name': 'David'}
{'id': 'j1', 'name': 'John'}
{'id': 'j2', 'name': 'John'}