[Python] Returning boolean if set is empty

Discussão em 'Python' iniciado por Stack, Janeiro 22, 2025.

  1. Stack

    Stack Membro Participativo

    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...

Compartilhe esta Página