code: def new_list(iterable=None):
      """The list constructor.
  
      Args:
        iterable: Optional elements to fill the list with.
  
      Returns:
        A list-like object. The exact return value depends on the initial elements.
      """
      # TODO(klecki): DALI would fail here, as DataNode is explicitly non-convertible to boolean.
      # We probably need to revert this idiom.
      if hooks._DISPATCH.detect_overload_list_new(iterable):
          return hooks._DISPATCH.list_new(iterable)
      if iterable:
          elements = tuple(iterable)
      else:
          elements = ()
  
      if elements:
          # When the list contains elements, it is assumed to be a "Python" lvalue
          # list.
          return _py_list_new(elements)
      # Empty list creation
      return hooks._DISPATCH.list_new(elements)
  
file_path: DALI/dali/python/nvidia/dali/_autograph/operators/data_structures.py
imports: import collections
  from nvidia.dali._autograph.utils import hooks
label_desc: Use image node_id 1 for calling a global function with example usage: new_list(iterable) and returns: hooks, hooks, _py_list_new