如何在python中用嵌套字典选择一个特定的键?

xwbd5t1u  于 2023-01-10  发布在  Python
关注(0)|答案(3)|浏览(146)

我刚开始在python中使用字典,一直在纠结于如何迭代和引用嵌套字典中的一个特定键,例如,在下面的代码中,我只想列出字典中每只宠物的宠物名,现在,我已经列出了每只宠物的所有键。

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():
    for key in petInfo:
        print(key + ': ', petInfo[key])

电流输出:

type:  dog
name:  scooby
age:  4
type:  cat
name:  milo
age:  1
type:  fish
name:  danny
age:  2

期望输出:

name: scooby
name: milo
name: danny
apeeds0o

apeeds0o1#

1-管路溶液:

petDict = {
    'pet1': {
    'type': 'dog',
    'name': 'scooby',
    'age': '4'
    },
    'pet2': {
        'type': 'cat',
        'name': 'milo',
        'age': '1'
    },
    'pet3': {
        'type': 'fish',
        'name': 'danny',
        'age': '2'
    } }

petNames = [petDict[spe]['name'] for spe in petDict]

print(petNames)
zfciruhq

zfciruhq2#

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():
    print('name: ', petInfo["name"])

输出:

Here are my pets:
name:  scooby
name:  milo
name:  danny
k4aesqcs

k4aesqcs3#

您可以简单地使用if条件来检查键是否为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():
    for key in petInfo:
        if key == 'name':
            print(key + ': ', petInfo[key])

通过这种方式,如果你想得到其他的关键字,你也可以把额外的条件,根据关键字需要。

相关问题