code: def _lookup_unit_symbol(symbol_str, unit_symbol_lut):
      
      if symbol_str in unit_symbol_lut:
          # lookup successful, return the tuple directly
          return unit_symbol_lut[symbol_str]
  
      # could still be a known symbol with a prefix
      prefix, symbol_wo_prefix = _split_prefix(symbol_str, unit_symbol_lut)
  
      if prefix:
          # lookup successful, it's a symbol with a prefix
          unit_data = unit_symbol_lut[symbol_wo_prefix]
          prefix_value = unit_prefixes[prefix][0]
  
          # Need to add some special handling for comoving units
          # this is fine for now, but it wouldn't work for a general
          # unit that has an arbitrary LaTeX representation
          if symbol_wo_prefix != "cm" and symbol_wo_prefix.endswith("cm"):
              sub_symbol_wo_prefix = symbol_wo_prefix[:-2]
              sub_symbol_str = symbol_str[:-2]
          else:
              sub_symbol_wo_prefix = symbol_wo_prefix
              sub_symbol_str = symbol_str
          latex_repr = unit_data[3].replace(
              "{" + sub_symbol_wo_prefix + "}", "{" + sub_symbol_str + "}"
          )
  
          # Leave offset and dimensions the same, but adjust scale factor and
          # LaTeX representation
          ret = (
              unit_data[0] * prefix_value,
              unit_data[1],
              unit_data[2],
              latex_repr,
              False,
          )
  
          unit_symbol_lut[symbol_str] = ret
  
          return ret
  
      # no dice
      raise UnitParseError(
          "Could not find unit symbol '%s' in the provided " "symbols." % symbol_str
      )
docs: Searches for the unit data tuple corresponding to the given symbol.
  
      Parameters
      ----------
      symbol_str : str
          The unit symbol to look up.
      unit_symbol_lut : dict
          Dictionary with symbols as keys and unit data tuples as values.