sets = [set([0, 1, 2]), set([3, 2]), set([4, 1]), set([5, 6]), set([7, 8])]
intersections = [sets[0]]
for start_set in sets[1:]:
    intersects = False
for final_set in intersections:
    if len(final_set & start_set) > 0:
        final_set.update(start_set)
intersects = True
if not intersects:
    intersections.append(start_set)
What's the pythonic way to unite all the intersecting sets in a list?