code: def get_measurement_sampler(n_sample, run_options=None):
      
      if run_options is None:
          run_options = {}
  
      def sampling_by_measurement(circuit, meas):
          def reduce_bits(bits, meas):
              bits = [int(x) for x in bits[::-1]]
              return tuple(bits[m] for m in meas)
  
          meas = tuple(meas)
          circuit.measure[meas]
          counter = circuit.run(shots=n_sample, returns="shots", **run_options)
          counts = Counter({reduce_bits(bits, meas): val for bits, val in counter.items()})
          return {k: v / n_sample for k, v in counts.items()}
  
      return sampling_by_measurement
docs: Returns a function which get the expectations by sampling the measured circuit