(self, dims: str or tuple or list or '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
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()`.
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 () .
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)
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 )