Estoy luchando por encontrar una forma más limpia de devolver un valor booleano si mi conjunto está vacío al final de mi función
Tomo la intersección de dos conjuntos y quiero regresar Trueo Falsebasándome en si el conjunto resultante está vacío.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Mi pensamiento inicial fue hacer
return c is not None
Sin embargo, en mi intérprete puedo ver fácilmente que la afirmación volverá verdadera si c = set([])
>>> c = set([])
>>> c is not None
True
También probé todo lo siguiente:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Ahora que he leído de la documentación que solo puedo usar and, ory notcon conjuntos vacíos para deducir un valor booleano. Hasta ahora, lo único que se me ocurre es regresar, no no c
>>> not not c
False
>>> not c
True
Tengo la sensación de que hay una forma mucho más pitónica de hacer esto, ya que estoy luchando por encontrarla. No quiero devolver el conjunto real a una declaración if porque no necesito los valores, solo quiero saber si se cruzan.
bool(set([]))