私は多次元辞書を持っています。私は、キー:キーのペアで値を取得したいと思います。最初のキーが存在しなければ 'NA'を返します。すべてのサブ辞書には同じキーがあります。多次元dictを持つPython dict.get()
d = { 'a': {'j':1,'k':2},
'b': {'j':2,'k':3},
'd': {'j':1,'k':3}
}
は、私はそれがそうでなければリターン「NA」が存在した場合、サブ辞書を取得するためにd.get('c','NA')
を使用することができます知っているが、私は本当に唯一のサブ辞書から一つの値を必要としています。もし存在すればd.get('c['j']','NA')
のようなことをしたいと思います。
ここでは、トップレベルのキーが存在するかどうかを確認し、存在する場合は変数にサブ値を割り当てます。存在しない場合は 'NA'を割り当てます。しかし、私はこれを約500k回実行しており、他の場所から各トップレベルキーに関する他の情報を取得/生成しており、これを少しスピードアップしようとしています。
一見、すなわち' defaultdict(ラムダ取得する別の方法:defaultdictを(ラムダ: 'NA') ) ' – mtadd
もちろん、' NADict'とその共有インスタンスを返す関数が必要です。私は例を追加します。 –
@mtadd:アイデアはすべての誤ったルックアップで新しいdict/defaultdictを作成しないことでした。 –