मैं बूलियन मान वापस करने का एक और अधिक स्वच्छ तरीका खोजने के लिए संघर्ष कर रहा हूं यदि मेरा सेट मेरे फ़ंक्शन के अंत में खाली है
मैं दो सेटों का प्रतिच्छेदन लेता हूं, और यदि परिणामी सेट खाली है, तो वापस लौटना 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खाली सेट के साथ एक बूलियन मान निकालना। अब तक, केवल एक चीज जिसके साथ मैं लौट सकता हूं वह है सी नहीं
>>> not not c
False
>>> not c
True
मुझे लगता है कि ऐसा करने के लिए एक और अधिक pythonic तरीका है, मैं इसे खोजने के लिए संघर्ष कर रहा हूं। अगर मैं मानों की जरूरत नहीं है, तो मैं वास्तविक सेट को वापस नहीं करना चाहता क्योंकि मुझे यह जानना है कि क्या वे अंतरंग हैं।
bool(set([]))