<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_shape(self, prune=False, hs_dims=None):
 """Tuple of array dimensions' lengths. It returns a tuple of ints, each representing the length of a cube dimension, in the order those dimensions appear in the cube. Pruning is supported. Dimensions that get reduced to a single element (e.g. due to pruning) are removed from the returning shape, thus allowing for the differentiation between true 2D cubes (over which statistical testing can be performed) and essentially 1D cubes (over which it can't). Usage: """

        if not prune:
            return self.as_array(include_transforms_for_dims=hs_dims).shape

        shape = compress_pruned(
            self.as_array(prune=True, include_transforms_for_dims=hs_dims)
        ).shape
        # Eliminate dimensions that get reduced to 1
        # (e.g. single element categoricals)
        return tuple(n for n in shape if n > 1)