White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

多次元辞書

p={'a':{'b':1}}
print p['a']['b']
p['a']['c'] = 1
print p
raw_input()

出力結果

1
{'a': {'c': 1, 'b': 1}}

こうやれば、p["a"]["b"]も出力されるし、p["a"]["c"]=1で新しく要素を作ることもできる。
が、空の状態から突っ込むのはダメっぽい。
↓はNG. key'a'がないよって怒る。

p={}
p['a']['c'] = 1
print p
raw_input()

これを解決するには以下のようにすればいい。

p={}
p['a']={}
p['a']['c'] = 1
print p
raw_input()

いいんだけど・・なんかスマートじゃないよなぁ。できれば空の状態からp['a']['c']=1で一発生成代入が行えればなぁ。