def from_op_list(
        cls, operations: Sequence[raw_types.Operation], qubit_order: Sequence[raw_types.Qid]
    ) -> CliffordGate:
        """Construct a new Clifford gates from several known operations.

        Args:
            operations: A list of cirq operations to construct the Clifford gate.
                The combination order is the first element in the list applies the transformation
                on the stabilizer state first.
            qubit_order: Determines how qubits are ordered when decomposite the operations.

        Returns:
            A CliffordGate instance, which has the transformation on the stabilizer
            state equivalent to the composition of operations.

        Raises:
            ValueError: When one or more operations do not have stabilizer effect.
        """
        for op in operations:
            if op.gate and protocols.has_stabilizer_effect(op.gate):
                continue
            raise ValueError(
                "Clifford Gate can only be constructed from the "
                "operations that has stabilizer effect."
            )

        base_tableau = qis.CliffordTableau(len(qubit_order))
        args = sim.clifford.CliffordTableauSimulationState(
            tableau=base_tableau, qubits=qubit_order, prng=np.random.RandomState(0)  # unused
        )
        for op in operations:
            protocols.act_on(op, args, allow_decompose=True)

        return CliffordGate.from_clifford_tableau(args.tableau)
Construct a new Clifford gates from several known operations.

        Args:
            operations: A list of cirq operations to construct the Clifford gate.
                The combination order is the first element in the list applies the transformation
                on the stabilizer state first.
            qubit_order: Determines how qubits are ordered when decomposite the operations.

        Returns:
            A CliffordGate instance, which has the transformation on the stabilizer
            state equivalent to the composition of operations.

        Raises:
            ValueError: When one or more operations do not have stabilizer effect.
        
cirq-core/cirq/ops/clifford_gate.py