以下に示すこの辞書を検討してください。
"Title": {
"Label-1": {
"sublabel-1": {
"item1": {},
"item2": {}
},
"sublabel-2": {
"item3": {},
"item4": {},
"item5": {}
}
}
"Label-2": {
"sublabel-1": {
"item6": {},
"item7": {},
"item8": {},
}
}
}
以下に示すように、いくつかのキーと値のペアを変更するための辞書を次に示します。
values_to_add={item1:a,item2:b}
目標は、辞書のそれぞれのキーに値aとbを追加することです。
参考までに、次の投稿を読みました。
1.最初の参照:(違いは、変更するキーと値のペアだけがあり、更新変数で指定されたキーと値のペアまでの詳細な証跡がないことです。)
2. 2番目の参照:(残念ながら、質問のフォローアップはありません。)
いくつかの追加のポイント:
辞書のレベルと深さは異なる場合があります。主な焦点は、ほとんどの場合、サブラベルの最も内側のキーに値を追加することです(この場合はitem1とitem2)
Python2を使用して辞書を操作します。
私は現在、それを解決するためのプログラムを作成しようとしています。うまくいけば、問題へのさまざまなアプローチに関する洞察を得て、何か新しいことを学ぶことを目指しています。
データ構造がデータの出力方法を反映しているように見えるため、更新プロセスが複雑になっています。
ネストされた辞書の作成を延期します。代わりに、リーフキーと上位キーのみをデータとして使用して辞書をフラットに設定します。
{
"item1": {'path': ("Title","Label-1","sublabel-1"), "values":{} },
"item2": {'path': ("Title","Label-1","sublabel-1"), "values":{} },
"item3": {'path': ("Title","Label-1","sublabel-2"), "values":{} },
"item4": {'path': ("Title","Label-1","sublabel-2"), "values":{} },
"item5": {'path': ("Title","Label-1","sublabel-2"), "values":{} },
"item6": {'path': ("Title","Label-2","sublabel-1"), "values":{} },
"item7": {'path': ("Title","Label-2","sublabel-1"), "values":{} },
"item8": {'path': ("Title","Label-2","sublabel-1"), "values":{} },
}
完了したら、それを繰り返し処理して、必要なネストされた構造を構築できます。これにより、さまざまな長さのキーパスに簡単に対応できるようになります。そうしないと、非常に複雑なアクセス方法になります。
もちろん、これはリーフキーが一意であることを前提としています。それはあなたの質問にも暗示されていました。しかし、それは実際にはありそうもない仮定として私を襲います。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加