<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def array_extents(self, array_name, **kwargs):
 """ Return a list of lower and upper extents for the given array_name. .. code-block:: python cube.register("uvw", ("ntime", "na", 3), np.float64) (lt, ut), (la, ua), (_, _) = cube.array_extents("uvw") Parameters array_name : string Name of an array registered on this hypercube Returns ------- list List of (lower_extent, upper_extent) tuples associated with each array dimension """


        A = self.array(array_name, reify=False)
        return self.dim_extents(*A.shape, single=False)