docs: def sort_list_of_dicts(lst_of_dct, keys, reverse=False, **sort_args):
      """
      Sort list of dicts by one or multiple keys.
  
      If the key is not available, sort these to the end.
  
      :param lst_of_dct: input structure. List of dicts.
      :param keys: one or more keys in list
      :param reverse:
      :param sort_args:
      :return:
      """
  
      if type(keys) != list:
          keys = [keys]
      # dcmdir = lst_of_dct[:]
      # lst_of_dct.sort(key=lambda x: [x[key] for key in keys], reverse=reverse, **sort_args)
      lst_of_dct.sort(key=lambda x: [((False, x[key]) if key in x else (True, 0)) for key in keys], reverse=reverse, **sort_args)
      return lst_of_dct