code: def _build_dict(my_dict, keys, values):
          
          temp = my_dict
          for depth, key in enumerate(keys):
              if depth < len(keys) - 1:
                  if key not in temp:
                      temp[key] = dict()
                  temp = temp[key]
              else:
                  if key not in temp:
                      temp[key] = values
                  else:
                      temp[key] = {**temp[key], **values}
          return my_dict
docs: Build a dictionary from a set of redis hashes.
  
              keys = ['a', 'b', 'c']
              values = {'value': 'foo'}
              my_dict = {'a': {'b': {'c': {'value': 'foo'}}}}
  
          Args:
              my_dict (dict): Dictionary to add to
              keys (list[str]): List of keys used to define hierarchy in my_dict
              values (dict): Values to add at to the dictionary at the key
                 specified by keys
  
          Returns:
              dict, new dictionary with values added at keys