Я намагаюся знайти більш чистий спосіб повернення булевого значення, якщо мій набір порожній в кінці моєї функції
Я приймаю перетин двох наборів і хочу повернутися 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([]))