スパースなベクトルを
a = {1:1, 2:5, 10:2}
みたいなdictで持ちたい時がある。Cython のコードの中で scipy.sparse を使うと、異様に要素の参照が遅く、dictの方が圧倒的に速いっぽいので。
こんなときに、a[3]とか、keyに入っていない要素を参照した時には0を返して欲しいけれども、この参照の仕方だと、エラーが返ってくる。
実は get(key, default) を適用すると、keyがない場合はdefaultの値を返してくれるようにできる。便利。
a.get(3, 0)