code: def _max_weight_state(states: Iterable[TensorProductState]) -> Union[None, TensorProductState]:
      
      mapping = dict()  # type: Dict[int, _OneQState]
      for state in states:
          for oneq_state in state.states:
              if oneq_state.qubit in mapping:
                  if mapping[oneq_state.qubit] != oneq_state:
                      return None
              else:
                  mapping[oneq_state.qubit] = oneq_state
      return TensorProductState(list(mapping.values()))
docs: Construct a TensorProductState by taking the single-qubit state at each
      qubit position.
  
      This function will return ``None`` if the input states are not compatible
  
      For example, the max_weight_state of ["(+X, q0)", "(-Z, q1)"] is "(+X, q0; -Z q1)". Asking for
      the max weight state of something like ["(+X, q0)", "(+Z, q0)"] will return None.