code: def shape_str(self):
      length = "?"
      if not self.dynamic_length:
          length = str(self.init_length)
      if self._elem_type == types.unknown:
          return "List[{}, unknown]".format(length)
      elem_shape = self._elem_type.get_shape()
      elem_dtype = self._elem_type.get_primitive()
      shape_str = str(elem_shape)[:-1]  # trim the ")"
      if len(elem_shape) > 1:
          shape_str += ", "
      shape_str += types.builtin_to_string(elem_dtype) + ")"
      return "List[{}, {}]".format(length, shape_str)
  
imports: from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.types.symbolic import is_symbolic, any_symbolic
label_desc: Use image node_id 7 for calling the ListVar obj's underlying member method code with example usage: obj.shape_str() and returns: str, str