Files
30-seconds-of-code/snippets/python/s/get.md
2023-05-07 16:07:29 +03:00

803 B

title, type, language, tags, cover, dateModified
title type language tags cover dateModified
Get nested value snippet python
dictionary
list
digital-nomad-2 2020-10-28T12:21:39+02:00

Retrieves the value of the nested key indicated by the given selector list from a dictionary or list.

  • Use functools.reduce() to iterate over the selectors list.
  • Apply operator.getitem() for each key in selectors, retrieving the value to be used as the iteratee for the next iteration.
from functools import reduce
from operator import getitem

def get(d, selectors):
  return reduce(getitem, selectors, d)
users = {
  'freddy': {
    'name': {
      'first': 'fred',
      'last': 'smith'
    },
    'postIds': [1, 2, 3]
  }
}
get(users, ['freddy', 'name', 'last']) # 'smith'
get(users, ['freddy', 'postIds', 1]) # 2