def select_negation(cache, selector):
 exclude = frozenset(cache.iterparsedselector(selector.subselector))
 for item in cache.iterparsedselector(selector.selector):
  if (item not in exclude):
   (yield item)

def select_negation ( cache , selector ) : exclude = frozenset ( cache . iterparsedselector ( selector . subselector ) ) for item in cache . iterparsedselector ( selector . selector ) : if ( item not in exclude ) : ( yield item )
implement :not() .