必要なのは、次のとおりです。
あなたはこのような所望の出力タイプにごすでに行わ辞書を変更する必要があります
まず:以下
# to change already existing dict
players = {players['player_id']:{key:value for key,value in players.items() if key != 'player_id'}}
# make dict from lists a and b
z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
# group both
players={**players,**z}
詳細
players = {players['player_id']:{key:value for key,value in players.items() if key != 'player_id'}}
print(players)
意志出力:
{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9}}
あなた2つのリストa
とb
を取って、次のように追加してください:
z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
print(z)
意志出力:
{2: {'player_name':
'teri', 'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []}}
と次のように最後に、あなただけの同じ辞書に入れ:
players={**players,**z}
print(players)
出力:
{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9},
2: {'player_name': 'teri',
'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []}}
ことに注意してくださいいくつかの膜を追加したい場合は、これをループで行うことができます。あなたが出力として得る
z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
players={**players,**z}
::前と同じ操作を実行して
a = ['player_id', 'player_name','time_played', 'player_pokemon', 'gyms_visited']
b = [6, 'new_Name', 66.6, {}, []]
:exempleは、これらの新しいリストを検討するために
{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9},
2: {'player_name': 'teri',
'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []},
6: {'player_name': 'new_Name',
'time_played': 66.6,
'player_pokemon': {},
'gyms_visited': []}}
あなたがmerging dictsと**dictsについてこれらのリンクを参照することができますより良い理解のために。
また、組み込みジップ方式のlinkもあります。
あなたの必要性を明確にすることはできますか?それは少し不明です –
私は、{'gyms_visited':[]、 'player_id':[4]、 'player_name': 'cynthia'、 'player_pokemon':{}に割り当てられた変数を持つ、 、 'time_played':30.9} –
リストから別の辞書を追加しようとしています[a]、[b] –