我有一個多維的字典,我想能夠檢索由密鑰值:密鑰對,並返回「NA」如果第一個鍵不存在。所有的子字典都有相同的密鑰。Python的dict.get()多維字典
d = { 'a': {'j':1,'k':2},
'b': {'j':2,'k':3},
'd': {'j':1,'k':3}
}
我知道我可以使用d.get('c','NA')
來獲得子字典,如果它存在,並返回「NA」否則,我真的只需要從子字典的一個值。如果存在,我想要做一些類似d.get('c['j']','NA')
的操作。
現在我只是檢查,看看頂級鍵存在,然後分配子值的變量,如果它存在或爲「NA」如果不。但是,我正在做這個大約500k次的工作,並且還從別處檢索/生成關於每個頂級密鑰的其他信息,並且我試圖加快這一點。
看看'collections.defaultdict'對於一個已經提供的實現,即'defaultdict(拉姆達:defaultdict(拉姆達: 'NA') )' – mtadd
當然,但你仍然需要一個'NADict'和一個返回它的共享實例的函數。我會添加一個例子。 –
@mtadd:這個想法是不會在每次誤查時創建一個新的dict/defaultdict。 –