<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def scale_means(self, hs_dims=None, prune=False):
 """Return list of column and row scaled means for this slice. If a row/col doesn't have numerical values, return None for the corresponding dimension. If a slice only has 1D, return only the column scaled mean (as numpy array). If both row and col scaled means are present, return them as two numpy arrays inside of a list. """

        scale_means = self._cube.scale_means(hs_dims, prune)

        if self.ca_as_0th:
            # If slice is used as 0th CA, then we need to observe the 1st dimension,
            # because the 0th dimension is CA items, which is only used for slicing
            # (and thus doesn't have numerical values, and also doesn't constitute any
            # dimension of the actual crosstabs that will be created in this case).
            scale_means = scale_means[0][-1]
            if scale_means is None:
                return [None]
            return [scale_means[self._index]]

        return scale_means[self._index]