class_docstr: Helper base class for the :class:`Domain` and :class:`Sample` classes.
  
  It implements common logic for creation, representation, type conversion
  and serialisation.
class_docstr_tok: ["Helper","base","class","for","the",":","class",":","`","Domain","`","and",":","class",":","`","Sample","`","classes",".","It","implements","common","logic","for","creation",",","representation",",","type","conversion","and","serialisation","."]
docstr: Create a :class:`_RecursiveDict` object from a list of tuples.
  
  Args:
      lst: :obj:`List[Tuple]`. Each element is a pair of the keys
      (tuple of strings) and the value.
  
  Returns:
      A :class:`_RecursiveDict` object.
  
  Raises:
      :obj:`ValueError`: if the list contains duplicating keys with
      different values.
  
  Examples:
  ```python
      >>> lst = [(("a", "b"), {2, 3, 4}), (("c",), [0, 0.1])]
      >>> _RecursiveDict.from_list(lst)
      {"a": {"b": {2, 3, 4}}, "c": [0, 0.1]}
  ```
docstr_tok: ["Create","a",":","class",":","`","_RecursiveDict","`","object","from","a","list","of","tuples",".","Args",":","lst",":",":","obj",":","`","List","[","Tuple","]","`",".","Each","element","is","a","pair","of","the","keys","(","tuple","of","strings",")","and","the","value",".","Returns",":","A",":","class",":","`","_RecursiveDict","`","object",".","Raises",":",":","obj",":","`","ValueError","`",":","if","the","list","contains","duplicating","keys","with","different","values",".","Examples",":","``","`","python",">",">",">","lst","=","[","(","(","``","a","''",",","``","b","''",")",",","{","2",",","3",",","4","}",")",",","(","(","``","c","''",",",")",",","[","0",",","0.1","]",")","]",">",">",">","_RecursiveDict.from_list","(","lst",")","{","``","a","''",":","{","``","b","''",":","{","2",",","3",",","4","}","}",",","``","c","''",":","[","0",",","0.1","]","}","``","`"]
code: def from_list(cls, lst):
      """Create a :class:`_RecursiveDict` object from a list of tuples.
  
      Args:
          lst: :obj:`List[Tuple]`. Each element is a pair of the keys
          (tuple of strings) and the value.
  
      Returns:
          A :class:`_RecursiveDict` object.
  
      Raises:
          :obj:`ValueError`: if the list contains duplicating keys with
          different values.
  
      Examples:
      ```python
          >>> lst = [(("a", "b"), {2, 3, 4}), (("c",), [0, 0.1])]
          >>> _RecursiveDict.from_list(lst)
          {"a": {"b": {2, 3, 4}}, "c": [0, 0.1]}
      ```
      """
      dct = {}
      head = dct
      for keys, vals in lst:
          if not keys:
              continue
          for k in keys[:-1]:
              if k not in dct:
                  dct[k] = {}
              dct = dct[k]
          if keys[-1] in dct and dct[keys[-1]] == vals:
              raise ValueError(f"Duplicating entries for keys {keys}.")
          dct[keys[-1]] = vals
          dct = head
      return cls(head)
  
imports: import ast
  import copy
  import os
  import pickle
  import random
  from collections import namedtuple
  from typing import Tuple
label_desc: Use image node_id 11 for calling the _RecursiveDict obj's underlying member method code with example usage: obj.from_list(cls, lst) and returns: cls