获取给定键的子键列表
我想知道怎么写一个函数,来获取字典中某个特定键下的所有子键。
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: []