code: def order_of_magnitude_str(num, base=10.0,
                             prefix_list=None,
                             exponent_list=None,
                             suffix='', prefix=None):
      
      abs_num = abs(num)
      # Find the right magnidue
      for prefix_, exponent in zip(prefix_list, exponent_list):
          # Let user request the prefix
          requested = False
          if prefix is not None:
              if prefix != prefix_:
                  continue
              requested = True
          # Otherwise find the best prefix
          magnitude = base ** exponent
          # Be less than this threshold to use this unit
          thresh_mag = magnitude * base
          if requested or abs_num <= thresh_mag:
              break
      unit_str = _magnitude_str(abs_num, magnitude, prefix_, suffix)
      return unit_str
docs: TODO: Rewrite byte_str to use this func
      Returns:
          str