Я изо всех сил пытаюсь найти более чистый способ возврата логического значения, если мой набор пуст в конце моей функции
Я беру пересечение двух наборов и хочу вернуться Trueили в Falseзависимости от того, пуст ли результирующий набор.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Моей первоначальной мыслью было сделать
return c is not None
Однако в моем интерпретаторе я легко вижу, что оператор вернет истину, если 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, потому что мне не нужны значения, я просто хочу знать, пересекаются ли они.
bool(set([]))