Я пытаюсь найти более чистый способ возврата логического значения, если мой набор пуст в конце моей функции
Я беру пересечение двух наборов и хочу вернуть True
или False
на основании того, что результирующий набор пуст.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Моя первоначальная мысль заключалась в том, чтобы сделать
return c is not None
Однако в моем интерпретаторе я легко вижу, что оператор вернет true, если c = set([])
>>> c = set([])
>>> c is not None
True
Я также пробовал все из следующих действий:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Теперь я прочитал из документации, что я могу использовать только and
, or
и not
с пустыми наборами, чтобы вывести логическое значение. Пока что единственное, что я могу придумать, это вернуть не c
>>> not not c
False
>>> not c
True
У меня есть чувство, что есть намного более питонический способ сделать это, я изо всех сил пытаюсь его найти. Я не хочу возвращать фактический набор в оператор if, потому что мне не нужны значения, я просто хочу знать, пересекаются ли они.