code: def moveaxis(a, source, destination):
      source = normalize_axis_tuple(source, a.ndim, "source")
      destination = normalize_axis_tuple(
          destination, a.ndim, "destination"
      )
      if len(source) != len(destination):
          raise ValueError(
              "`source` and `destination` arguments must have "
              "the same number of elements"
          )
  
      order = [n for n in range(a.ndim) if n not in source]
  
      for dest, src in sorted(zip(destination, source)):
          order.insert(dest, src)
  
      result = a.transpose(order)
      return result
  
file_path: dask/dask/array/numpy_compat.py
imports: from __future__ import annotations
  import warnings
  import numpy
  from packaging.version import parse
  from dask.utils import derived_from
label_desc: Use image node_id 1 for calling a global function with example usage: moveaxis(a, source, destination) and returns: result