class_docstr: Generator for Thompson sampling.
  
  The generator performs Thompson sampling on the data passed in via `fit`.
  Arms are given weight proportional to the probability that they are
  winners, according to Monte Carlo simulations.
class_docstr_tok: ["Generator","for","Thompson","sampling",".","The","generator","performs","Thompson","sampling","on","the","data","passed","in","via","`","fit","`",".","Arms","are","given","weight","proportional","to","the","probability","that","they","are","winners",",","according","to","Monte","Carlo","simulations","."]
docstr: Hash a list of parameter values. This is safer than converting the
  list to a tuple because of int/floats.
docstr_tok: ["Hash","a","list","of","parameter","values",".","This","is","safer","than","converting","the","list","to","a","tuple","because","of","int\/floats","."]
code: def _hash_TParamValueList(self, x: TParamValueList) -> str:
      """Hash a list of parameter values. This is safer than converting the
      list to a tuple because of int/floats.
      """
      param_values_str = json.dumps(x)
      return hashlib.md5(param_values_str.encode("utf-8")).hexdigest()
  
imports: import hashlib
  import json
  from typing import Dict, List, Optional, Tuple
  import numpy
  from ax.core.types import TGenMetadata, TParamValue, TParamValueList
  from ax.exceptions.constants import TS_MIN_WEIGHT_ERROR, TS_NO_FEASIBLE_ARMS_ERROR
  from ax.exceptions.model import ModelError
  from ax.models.discrete_base import DiscreteModel
  from ax.models.types import TConfig
  from ax.utils.common.docutils import copy_doc
label_desc: Use image node_id 12 for calling the ThompsonSampler obj's underlying member method code with example usage: obj._hash_TParamValueList(x) and returns: hashlib