class_docstr: A trie (prefix tree) where the keys are sequences of hashable objects.
  
  It behaves similarly to a dictionary, except that the keys can be lists or
  other sequences.
  
  Examples:
      >>> from featuretools.utils import Trie
      >>> trie = Trie(default=str)
      >>> # Set a value
      >>> trie.get_node([1, 2, 3]).value = '123'
      >>> # Get a value
      >>> trie.get_node([1, 2, 3]).value
      '123'
      >>> # Overwrite a value
      >>> trie.get_node([1, 2, 3]).value = 'updated'
      >>> trie.get_node([1, 2, 3]).value
      'updated'
      >>> # Getting a key that has not been set returns the default value.
      >>> trie.get_node([1, 2]).value
      ''
class_docstr_tok: ["A","trie","(","prefix","tree",")","where","the","keys","are","sequences","of","hashable","objects",".","It","behaves","similarly","to","a","dictionary",",","except","that","the","keys","can","be","lists","or","other","sequences",".","Examples",":",">",">",">","from","featuretools.utils","import","Trie",">",">",">","trie","=","Trie","(","default=str",")",">",">",">","#","Set","a","value",">",">",">","trie.get_node","(","[","1",",","2",",","3","]",")",".value","=","'123'",">",">",">","#","Get","a","value",">",">",">","trie.get_node","(","[","1",",","2",",","3","]",")",".value","'123'",">",">",">","#","Overwrite","a","value",">",">",">","trie.get_node","(","[","1",",","2",",","3","]",")",".value","=","'updated'",">",">",">","trie.get_node","(","[","1",",","2",",","3","]",")",".value","'updated'",">",">",">","#","Getting","a","key","that","has","not","been","set","returns","the","default","value",".",">",">",">","trie.get_node","(","[","1",",","2","]",")",".value","``"]
docstr: Get the sub-trie at the given path. If it does not yet exist initialize
  it with the default value.
  
  Examples:
      >>> from featuretools.utils import Trie
      >>> t = Trie()
      >>> t.get_node([1, 2, 3]).value = '123'
      >>> t.get_node([1, 2, 4]).value = '124'
      >>> sub = t.get_node([1, 2])
      >>> sub.get_node([3]).value
      '123'
      >>> sub.get_node([4]).value
      '124'
docstr_tok: ["Get","the","sub-trie","at","the","given","path",".","If","it","does","not","yet","exist","initialize","it","with","the","default","value",".","Examples",":",">",">",">","from","featuretools.utils","import","Trie",">",">",">","t","=","Trie","(",")",">",">",">","t.get_node","(","[","1",",","2",",","3","]",")",".value","=","'123'",">",">",">","t.get_node","(","[","1",",","2",",","4","]",")",".value","=","'124'",">",">",">","sub","=","t.get_node","(","[","1",",","2","]",")",">",">",">","sub.get_node","(","[","3","]",")",".value","'123'",">",">",">","sub.get_node","(","[","4","]",")",".value","'124","'"]
code: def get_node(self, path):
      """
      Get the sub-trie at the given path. If it does not yet exist initialize
      it with the default value.
  
      Examples:
          >>> from featuretools.utils import Trie
          >>> t = Trie()
          >>> t.get_node([1, 2, 3]).value = '123'
          >>> t.get_node([1, 2, 4]).value = '124'
          >>> sub = t.get_node([1, 2])
          >>> sub.get_node([3]).value
          '123'
          >>> sub.get_node([4]).value
          '124'
      """
      if path:
          first = path[0]
          rest = path[1:]
  
          if first in self._children:
              sub_trie = self._children[first]
          else:
              sub_trie = Trie(
                  default=self._default,
                  path_constructor=self._path_constructor,
              )
              self._children[first] = sub_trie
  
          return sub_trie.get_node(rest)
      else:
          return self
  
label_desc: Use image node_id 3 for calling the Trie obj's underlying member method code with example usage: obj.get_node(path) and returns: sub_trie, self