<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _guess_diffusion_axis(process_or_domain):
 """Scans given process, domain or dictionary of domains for a diffusion axis and returns appropriate name. In case only one axis with length > 1 in the process or set of domains exists, the name of that axis is returned. Otherwise an error is raised. :param process_or_domain: input from where diffusion axis should be guessed :type process_or_domain: :class:`~climlab.process.process.Process`, :class:`~climlab.domain.domain._Domain` or :py:class:`dict` of domains :raises: :exc:`ValueError` if more than one diffusion axis is possible. :returns: name of the diffusion axis :rtype: str """

    axes = get_axes(process_or_domain)
    diff_ax = {}
    for axname, ax in axes.items():
        if ax.num_points > 1:
            diff_ax.update({axname: ax})
    if len(list(diff_ax.keys())) == 1:
        return list(diff_ax.keys())[0]
    else:
        raise ValueError('More than one possible diffusion axis.')