web-dev-qa-db-ja.com

Pythonで2D辞書を作成する

同じ名前の「名前」、「場所」、「動物」、「もの」、「set2」のような「set1」の出力の詳細のリストがあります。

これらの行にdict_names[setx]['name']...などを使用して辞書を作成します。

それが最善の方法ですか?そうでない場合、どうすればよいですか?

辞書で2Dがどのように機能するかわかりません。ポインタはありますか?

12
user2921139

次の構文になります

dict_names = {'d1' : {'name':'bob', 'place':'lawn', 'animal':'man'},
              'd2' : {'name':'spot', 'place':'bed', 'animal':'dog'}}

その後、次のように調べることができます

>>> dict_names['d1']['name']
'bob'
15
CoryKramer

このような何かがうまくいくでしょう:

set1 = {
     'name': 'Michael',
     'place': 'London',
     ...
     }
# same for set2

d = dict()
d['set1'] = set1
d['set2'] = set2

次に、次のことができます。

d['set1']['name']

等々(2Dマトリックスの代わりに)入れ子構造と考えるのが良いでしょう:

{
 'set1': {
         'name': 'Michael',
         'place': 'London',
         ...
         }
 'set2': {
         'name': 'Michael',
         'place': 'London',
         ...
         }
}

ネストされた辞書を視覚化する簡単な方法については、 ここ をご覧ください。

2
elyase

このようなものが動作するはずです。

dictionary = dict()
dictionary[1] = dict()
dictionary[1][1] = 3
print(dictionary[1][1])

より高い次元に拡張することもできます。