获取给定键的子键列表

-1 投票
2 回答
40 浏览
提问于 2025-04-13 12:37

我想知道怎么写一个函数,来获取字典中某个特定键下的所有子键。

Data = {
            'Andrew': {
                'Country': 'Australia',
                'Age': '20',
                
          
            },
            'Mary': {
                'Country': 'Australia',
                'Age': '25',
                'Gender': 'Female',
                
            },
  }

比如说,如果我给出一个键,比如 Andrew 或者 Mary,我想知道这个键下有哪些子键。如果我问 Andrew,返回的结果应该是 [Country, Age],而如果问 Mary,返回的结果则是 [Country, Age, Gender]。

2 个回答

0

Barmar给出了正确的答案:

>>> list(Data['Andrew'].keys())
['Country', 'Age']
>>> list(Data['Mary'].keys())
['Country', 'Age', 'Gender']
0

如果你想通过函数来实现这个功能,你可以这样做:

def get_subkeys(dictionary, key):
    if key in dictionary:
        return list(dictionary[key].keys())
    else:
        return []

使用方法:

data = {
    'Andrew': {
        'Country': 'Australia',
        'Age': '20',
    },
    'Mary': {
        'Country': 'Australia',
        'Age': '25',
        'Gender': 'Female',
    },
}

print(get_subkeys(data, 'Andrew'))  # Output: ['Country', 'Age']
print(get_subkeys(data, 'Mary'))    # Output: ['Country', 'Age', 'Gender']
print(get_subkeys(data, 'John'))    # Output: []

撰写回答