提问人:Pavel 提问时间:7/14/2023 最后编辑:Andrej KeselyPavel 更新时间:7/14/2023 访问量:56
如何遍历嵌套字典以查找给定元素为键的列表的特定值?
How to iterate through a nested dictionary to find a specific value given a list whose elements are keys?
问:
我正在尝试编写一个接受两个参数的函数 - 一个嵌套字典和一个列表,其元素是键的子集(不考虑缺少键)。使用列表的元素,该函数必须遍历字典以查找并返回相应的值。因此,基本上列表是函数用来“遍历”字典以查找目标值的“路径”> def walk(dictionary, path)。我不能在代码中使用 map、filter 或 reduce。这是我正在学习的一门课程的编码任务,我对 Python 的了解非常有限。
所以,这里是测试字典和列表(=path):
city = {
'Pine': {
'5': 'School #42',
},
'Elm': {
'13': {
'1': 'Appartments #2, Elm st.13',
},
},
}
path = ['Elm', '13', '1']
path = ['Pine', '5']
这是我目前正在研究的功能:
def walk(dictionary, path):
key_select = getitem(path, len(path) - 1)
for key, value in dictionary.items():
if isinstance(value, dict):
print(key)
walk(value, path)
else:
print(key)
if key == key_select:
print(value)
walk(city, path)
如果我将两个列表中的任何一个传递到函数中,我会得到“正确”的答案,但有几个问题:1)我需要返回一个值(而不是打印它),当我尝试这样做时,我得到“无”;2)我只需要返回一个与特定键相对应的值。那么我的问题是,我怎样才能修改函数,使其保留它的整体功能(即它遍历整个词典),而没有它所做的所有额外东西。谢谢。
答: 暂无答案
下一个:遍历多个数据集没有结果
评论