使用python的多维字典中的每个事件的dict.get()

时间:2018-12-05 02:39:15

标签: python dictionary multidimensional-array

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

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

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

但是,并非i中的每个d都将'b'作为dict,有些i['a']['b']Nonelist ,因此无法执行dict.get('c',None)。虽然我可以 每个键都使用if i['a']['b']!= None,但我必须使用['b']之类的许多键, 有什么切肉刀方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

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

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