parameters: (self, dims: str or tuple or list or 'Shape')
docstring: Builds a new shape from this one that is missing all given dimensions.
          Dimensions in `dims` that are not part of this Shape are ignored.
          
          The complementary operation is `Shape.only()`.
  
          Args:
            dims: Single dimension (str) or instance of dimensions (tuple, list, Shape)
            dims: Dimensions to exclude as `str` or `tuple` or `list` or `Shape`. Dimensions that are not included in this shape are ignored.
  
          Returns:
            Shape without specified dimensions
docstring_summary: Builds a new shape from this one that is missing all given dimensions.
          Dimensions in `dims` that are not part of this Shape are ignored.
          
          The complementary operation is `Shape.only()`.
docstring_tokens: Builds a new shape from this one that is missing all given dimensions . Dimensions in dims that are not part of this Shape are ignored . The complementary operation is Shape . only () .
function: def without(self, dims: str or tuple or list or 'Shape') -> 'Shape':
          """
          Builds a new shape from this one that is missing all given dimensions.
          Dimensions in `dims` that are not part of this Shape are ignored.
          
          The complementary operation is `Shape.only()`.
  
          Args:
            dims: Single dimension (str) or instance of dimensions (tuple, list, Shape)
            dims: Dimensions to exclude as `str` or `tuple` or `list` or `Shape`. Dimensions that are not included in this shape are ignored.
  
          Returns:
            Shape without specified dimensions
          """
          if isinstance(dims, str):
              return self[[i for i in range(self.rank) if self.names[i] != dims]]
          if isinstance(dims, (tuple, list)):
              return self[[i for i in range(self.rank) if self.names[i] not in dims]]
          elif isinstance(dims, Shape):
              return self[[i for i in range(self.rank) if self.names[i] not in dims.names]]
          # elif dims is None:  # subtract all
          #     return EMPTY_SHAPE
          else:
              raise ValueError(dims)
function_tokens: def without ( self , dims : str or tuple or list or 'Shape' ) -> 'Shape' : if isinstance ( dims , str ) : return self [ [ i for i in range ( self . rank ) if self . names [ i ] != dims ] ] if isinstance ( dims , ( tuple , list ) ) : return self [ [ i for i in range ( self . rank ) if self . names [ i ] not in dims ] ] elif isinstance ( dims , Shape ) : return self [ [ i for i in range ( self . rank ) if self . names [ i ] not in dims . names ] ] # elif dims is None:  # subtract all #     return EMPTY_SHAPE else : raise ValueError ( dims )