Estou lutando para encontrar uma maneira mais limpa de retornar um valor booleano se meu conjunto estiver vazio no final da minha função
Eu considero a interseção de dois conjuntos e desejo retornar Trueou com Falsebase no fato de o conjunto resultante estar vazio.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Meu pensamento inicial foi fazer
return c is not None
No entanto, no meu intérprete, posso ver facilmente que a declaração retornará verdadeira se c = set([])
>>> c = set([])
>>> c is not None
True
Também tentei todos os seguintes:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Agora eu li a partir da documentação que eu só posso usar and, ore notcom conjunto vazio para deduzir um valor booleano. Até agora, a única coisa que posso pensar é retornar, não c
>>> not not c
False
>>> not c
True
Tenho a sensação de que existe uma maneira muito mais pythônica de fazer isso, pois estou lutando para encontrá-la. Não quero retornar o conjunto real para uma instrução if porque não preciso dos valores, só quero saber se eles se cruzam.
bool(set([]))