Python如何遍历嵌套字典并提取指定键的对应值
问题原因
你当前的代码嵌套了内层循环遍历每个宠物子字典的全部键,因此会输出所有键值对。不需要遍历内层所有键,直接通过键名name即可取值实现需求。
修改后代码
petDict = { 'pet1' : { 'type' : 'dog', 'name' : 'scooby', 'age' : '4' }, 'pet2' : { 'type' : 'cat', 'name' : 'milo', 'age' : '1' }, 'pet3' : { 'type' : 'fish', 'name' : 'danny', 'age' : '2' } } print('Here are my pets:') for petNum, petInfo in petDict.items(): # 直接通过键名取name值,无需遍历所有键 print(f'name: {petInfo["name"]}')
兼容场景补充
如果存在部分宠物子字典没有name键的情况,可以用get方法取值避免抛出KeyError异常:
for petNum, petInfo in petDict.items(): pet_name = petInfo.get('name') # 仅当存在name值时打印 if pet_name: print(f'name: {pet_name}')
内容的提问来源于stack exchange,提问作者amontes2019
相关产品推荐
相关产品推荐

