nodupes = [{i} for i in xrange(100)]
mostlydupes = [set(range(100)) - {i} for i in xrange(100)]
import timeit

print timeit.timeit('''
element_counts = collections.Counter(itertools.chain.from_iterable(allsets))
nondupes = [{elem for elem in original if element_counts[elem] == 1}
            for original in allsets]
''', setup='import itertools; import collections; from __main__ import nodupes as allsets', number=1000)

print timeit.timeit('''
element_counts = collections.Counter(itertools.chain.from_iterable(allsets))
unique_elements = {elem for elem, count in element_counts.viewitems() if count == 1}
nondupes = [original & unique_elements for original in allsets]
''', setup='import itertools; import collections; from __main__ import nodupes as allsets', number=1000)

print timeit.timeit('''
element_counts = collections.Counter(itertools.chain.from_iterable(allsets))
nondupes = [{elem for elem in original if element_counts[elem] == 1}
            for original in allsets]
''', setup='import itertools; import collections; from __main__ import mostlydupes as allsets', number=100)

print timeit.timeit('''
element_counts = collections.Counter(itertools.chain.from_iterable(allsets))
unique_elements = {elem for elem, count in element_counts.viewitems() if count == 1}
nondupes = [original & unique_elements for original in allsets]
''', setup='import itertools; import collections; from __main__ import mostlydupes as allsets', number=100)