code: def _shard_num_args(self,
                          constant_dict: Dict[str, Any] = None
                          ) -> List[Dict[str, Any]]:
          
          args = []
          for shard_num in range(self._num_shards):
              append_dict = dict(constant_dict) if constant_dict else {}
              append_dict['shard_num'] = shard_num
              append_dict['num_shards'] = self._num_shards
              append_dict['num_shard_qubits'] = self._num_shard_qubits
              append_dict.update(self._shared_mem_dict)
              args.append(append_dict)
          return args
docs: Helper that returns a list of dicts including a num_shard entry.
  
          The dict for each entry also includes shared_mem_dict, the number of
          shards, the number of shard qubits, and the supplied constant dict.
  
          Args:
              constant_dict: Dictionary that will be updated to every element of
                  the returned list of dictionaries.
  
          Returns:
              A list of dictionaries. Each dictionary is constant except for the
              'shard_num' key which ranges from 0 to number of shards - 1.
              Included keys are 'num_shards' and 'num_shard_qubits' along with
              all the keys in constant_dict.