code: def _max_weight_operator(ops: Iterable[PauliTerm]) -> Union[None, PauliTerm]:
      
      mapping = dict()  # type: Dict[int, str]
      for op in ops:
          for idx, op_str in op:
              if idx in mapping:
                  if mapping[idx] != op_str:
                      return None
              else:
                  mapping[idx] = op_str
      op = functools.reduce(mul, (PauliTerm(op, q) for q, op in mapping.items()), sI())
      return op
docs: Construct a PauliTerm operator by taking the non-identity single-qubit operator at each
      qubit position.
  
      This function will return ``None`` if the input operators do not share a natural tensor
      product basis.
  
      For example, the max_weight_operator of ["XI", "IZ"] is "XZ". Asking for the max weight
      operator of something like ["XI", "ZI"] will return None.