导航嵌套词典



我试图围绕如何导航嵌套在列表中的一系列词典来思考。

例如:mydict = {'first':[{'second':2, 'third':3}, {'fourth':4}]}

当我输入mydict.get('first')时,我得到整个列表。

我不能使用索引来获取列表中的每个词典(即mydict.get(['first'][0]返回整个列表,mydict.get(['first'][1])返回 IndexError)。

mydict.get(['first'][0]['second'])mydict.get(['first']['second'])返回类型错误。

那么,如果我想调用"第二"或"第四"或将它们的值分配给变量,我将怎么做?

第二:mydict['first'][0]['second]

['first']返回 array
[0]返回数组的第一个对象
['second']获取"第二个"对象

也许尝试将数据重塑为更方便的数据?

在您的示例中,mydict不是嵌套在列表中的一系列字典。它是一个包含列表的字典,而列表又包含字典。

因此,假设您不知道哪个内部字典将包含您要查找的键,则必须遍历父字典中的所有条目才能找到它。像这样:

desiredKey = 'second'
for listOfDict in mydict.values():
for childDict in listOfDict:
if desiredKey in childDict:
print(childDict[desiredKey])

仅当您要查找的键始终位于最内部的字典中时,这才有效。

最新更新