nodupes = [{i} for i in range(100)]
mostlydupes = [set(range(100)) - {i} for i in range(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.items() 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.items() if count == 1}
nondupes = [original & unique_elements for original in allsets]
''', setup='import itertools; import collections; from __main__ import mostlydupes as allsets', number=100))