(self)
return dict(rv)
Return the cycle structure of the permutation as a dictionary
        indicating the multiplicity of each cycle length.

        Examples
        ========

        >>> from sympy.combinatorics import Permutation
        >>> Permutation.print_cyclic = True
        >>> Permutation(3).cycle_structure
        {1: 4}
        >>> Permutation(0, 4, 3)(1, 2)(5, 6).cycle_structure
        {2: 2, 3: 1}
Return the cycle structure of the permutation as a dictionary
        indicating the multiplicity of each cycle length.
Return the cycle structure of the permutation as a dictionary indicating the multiplicity of each cycle length .
def cycle_structure(self):
        """Return the cycle structure of the permutation as a dictionary
        indicating the multiplicity of each cycle length.

        Examples
        ========

        >>> from sympy.combinatorics import Permutation
        >>> Permutation.print_cyclic = True
        >>> Permutation(3).cycle_structure
        {1: 4}
        >>> Permutation(0, 4, 3)(1, 2)(5, 6).cycle_structure
        {2: 2, 3: 1}
        """
        if self._cycle_structure:
            rv = self._cycle_structure
        else:
            rv = defaultdict(int)
            singletons = self.size
            for c in self.cyclic_form:
                rv[len(c)] += 1
                singletons -= len(c)
            if singletons:
                rv[1] = singletons
            self._cycle_structure = rv
        return dict(rv)
def cycle_structure ( self ) : if self . _cycle_structure : rv = self . _cycle_structure else : rv = defaultdict ( int ) singletons = self . size for c in self . cyclic_form : rv [ len ( c ) ] += 1 singletons -= len ( c ) if singletons : rv [ 1 ] = singletons self . _cycle_structure = rv return dict ( rv )