Marçal Torà Marçal Torà - 25 days ago 11
Python Question

Python Get dictionary value with a key list

Considering I have

users = \
{
'Sam': {
'age': 19,
'location': 'Flodira',
'country': 'United States'
},
'Max': {
'age': 16,
'location': 'Sydney',
'country': 'Australia'
}
}

def getUserValue(query):
return users[query]

getUserValue(['Sam', 'location'])


How could I do this? I know I could straightly do
users['Sam']['location']
, what I would like to do is get Sam's location via a list object.

Answer

For a more general solution than Jared's, you could use list unpacking with a recursive function..

def getUserValue(dic, lis):
    if len(lis) > 1:
        return getUserValue(dic[lis[0]], lis[1:])
    else:
        return dic[lis[0]]
Comments