def __init__(
        self,
        *contents: cirq.PAULI_STRING_LIKE,
        coefficient: cirq.TParamValComplex = 1,
        pauli_int_dict: dict[TKey, int] | None = None,
    ):
        """Initializes a new `MutablePauliString`.

        Args:
            *contents: A value or values to convert into a pauli string. This
                can be a number, a pauli operation, a dictionary from qubit to
                pauli/identity gates, or collections thereof. If a list of
                values is given, they are each individually converted and then
                multiplied from left to right in order.
            coefficient: Initial scalar coefficient or symbol. Defaults to 1.
            pauli_int_dict: Initial dictionary mapping qubits to integers corresponding
                to pauli operations. Defaults to the empty dictionary. Note that, unlike
                dictionaries passed to contents, this dictionary must not contain values
                corresponding to identity gates; i.e. all integer values must be between
                [1, 3]. Further note that this argument specifies values that are logically
                *before* factors specified in `contents`; `contents` are *right* multiplied
                onto the values in this dictionary.

        Raises:
            ValueError: If the `pauli_int_dict` has integer values `v` not satisfying `1 <= v <= 3`.
        """
        self.coefficient: sympy.Expr | cirq.TParamValComplex = (
            coefficient if isinstance(coefficient, sympy.Expr) else complex(coefficient)
        )
        if pauli_int_dict is not None:
            for v in pauli_int_dict.values():
                if not 1 <= v <= 3:
                    raise ValueError(f"Value {v} of pauli_int_dict must be between 1 and 3.")
        self.pauli_int_dict: dict[TKey, int] = {} if pauli_int_dict is None else pauli_int_dict
        if contents:
            self.inplace_left_multiply_by(contents)
Initializes a new `MutablePauliString`.

        Args:
            *contents: A value or values to convert into a pauli string. This
                can be a number, a pauli operation, a dictionary from qubit to
                pauli/identity gates, or collections thereof. If a list of
                values is given, they are each individually converted and then
                multiplied from left to right in order.
            coefficient: Initial scalar coefficient or symbol. Defaults to 1.
            pauli_int_dict: Initial dictionary mapping qubits to integers corresponding
                to pauli operations. Defaults to the empty dictionary. Note that, unlike
                dictionaries passed to contents, this dictionary must not contain values
                corresponding to identity gates; i.e. all integer values must be between
                [1, 3]. Further note that this argument specifies values that are logically
                *before* factors specified in `contents`; `contents` are *right* multiplied
                onto the values in this dictionary.

        Raises:
            ValueError: If the `pauli_int_dict` has integer values `v` not satisfying `1 <= v <= 3`.
        
cirq-core/cirq/ops/pauli_string.py