code: def select_symbols(self, symbols, ret_list=False):
          
          symbols = list_strings(symbols)
          exclude = symbols[0].startswith("-")
  
          if exclude:
              if not all(s.startswith("-") for s in symbols):
                  raise ValueError("When excluding symbols, all strings must start with `-`")
              symbols = [s[1:] for s in symbols]
  
          symbols = set(symbols)
          pseudos = []
          for p in self:
              if exclude:
                  if p.symbol in symbols: continue
              else:
                  if p.symbol not in symbols: continue
  
              pseudos.append(p)
  
          if ret_list:
              return pseudos
          else:
              return self.__class__(pseudos)
docs: Return a :class:`PseudoTable` with the pseudopotentials with the given list of chemical symbols.
  
          Args:
              symbols: str or list of symbols
                  Prepend the symbol string with "-", to exclude pseudos.
              ret_list: if True a list of pseudos is returned instead of a :class:`PseudoTable`