I am struggling to find a more clean way of returning a boolean value if my set is empty at the end of my function I take the intersection of two sets, and want to return True or False based on if the resulting set is empty. def myfunc(a,b): c = a.intersection(b) #...return boolean here My initial thought was to do return c is not None However, in my interpreter I can easily see that statement will return true if c = set([]) >>> c = set([]) >>> c is not None True I've also tried all of the following: >>> c == None False >>> c == False False >>> c is None False Now I've read from the documentation that I can only use and, or, and not with empty sets to deduce a boolean value. So far, the only thing I can come up with is returning not not c >>> not not c False >>> not c True I have a feeling there is a much more pythonic way to do this, by I am struggling to find it. I don't want to return the actual set to an if statement because I don't need the values, I just want to know if they intersect. Continue reading...