首页 > 解决方案 > dict.get() 用于使用 python 的多维字典中的每个事件

问题描述

d=[{'a':{'b':[]}},{'a':{'b':{'c':[]}}},{'a':{'b':{'c':[],'d':[],'e':[]}}}]

我想要一些东西来返回'c'or 'd'or'e'的每个事件的值,d例如:

for i in d:
 print(i.get('a',{}).get('b',{}).get('c','None')

但是,并不是每个iind都有'b'as dict,有些i['a']['b']Nonelist,所以dict.get('c',None)不能执行。虽然我可以if i['a']['b']!= None为每个键使用,但我有很多键,例如['b'],有没有任何切刀方法可以做到这一点?

标签: pythondictionarymultidimensional-array

解决方案


您可以尝试获取密钥并处理任何异常:

d = [{'a':{'b':[]}},{'a':{'b':{'c':[]}}},{'a':{'b':{'c':[],'d':[],'e':[]}}}]
for i in d:
    try:
        print(i['a']['b']['c'])
    except (KeyError, TypeError):
        pass

推荐阅读