3
Clojureでは、マップ(dict)をassoc-in
で更新し、存在しなければ自動的にキーパスを作成できます。 get-in
のための同じClojureの "assoc-in"とPythonの "get-in"に相当する
(assoc-in {:a 1 :b 3} [:c :d] 33)
{:a 1, :c {:d 33}, :b 3}
:あなたは、キー(またはリストインデックス)のパスを指定することができますし、それが存在しない場合には、パス、nil
で指定された値を返します。
(get-in {:a 1, :c {:d 33}, :b 3} [:c :d])
33
(get-in {:a 1, :c {:d 33}, :b 3} [:c :e])
nil
Pythonに相当するものか、同等のショートカットがありますか? (はい、私は自分自身dodgy dictラッパーを書くことができることを知っているが、私はそれを避けたい)。