我试图围绕如何导航嵌套在列表中的一系列词典来思考。
例如: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])
仅当您要查找的键始终位于最内部的字典中时,这才有效。