parameters: (elems)
return_statement: return [x for x in elems if x not in seen and not seen.add(x)]
docstring: uniq_stable(elems) -> list
  
      Return from an iterable, a list of all the unique elements in the input,
      but maintaining the order in which they first appear.
  
      Note: All elements in the input must be hashable for this routine
      to work, as it internally uses a set for efficiency reasons.
docstring_summary: uniq_stable(elems) -> list
docstring_tokens: uniq_stable ( elems ) - > list
function: def uniq_stable(elems):
      """uniq_stable(elems) -> list
  
      Return from an iterable, a list of all the unique elements in the input,
      but maintaining the order in which they first appear.
  
      Note: All elements in the input must be hashable for this routine
      to work, as it internally uses a set for efficiency reasons.
      """
      seen = set()
      return [x for x in elems if x not in seen and not seen.add(x)]
function_tokens: def uniq_stable ( elems ) : seen = set ( ) return [ x for x in elems if x not in seen and not seen . add ( x ) ]