У меня есть многомерный dict, и я бы хотел получить значение с помощью пары key: key и вернуть «NA», если первый ключ не существует , Все поддиты имеют одинаковые ключи.Python dict.get() с многомерным dict
d = { 'a': {'j':1,'k':2},
'b': {'j':2,'k':3},
'd': {'j':1,'k':3}
}
Я знаю, что могу использовать d.get('c','NA')
получить суб-Dict, если она существует, и возвращение «NA» в противном случае, но мне действительно нужно только одно значение из суб-Dict. Я бы хотел сделать что-то вроде d.get('c['j']','NA')
, если это существовало.
Прямо сейчас я просто проверяю, существует ли ключ верхнего уровня, а затем присваивает субъекту значение переменной, если оно существует, или «NA», если нет. Тем не менее, я делаю это примерно в 500 тыс. Раз, а также извлекаю/генерирую другую информацию о каждом ключе верхнего уровня из других источников, и я пытаюсь немного ускорить это.
посмотреть на 'collections.defaultdict' для уже при условии реализации, то есть' defaultdict (лямбда: defaultdict (лямбда: 'NA')) ' – mtadd
Уверен, но вам все равно нужен' NADict' и функция, которая возвращает общий экземпляр. Я добавлю пример. –
@mtadd: идея заключалась в том, чтобы не создавать новый dict/defaultdict для каждого mislookup. –