Fonksiyonumun sonunda setim boşsa, bir boole değerini döndürmenin daha temiz bir yolunu bulmakta zorlanıyorum
Ben iki set kesişimi almak ve dönmek istiyorum Trueya Falseçıkan kümesi boşsa dayalı.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
İlk düşüncem yapmaktı
return c is not None
Ancak, tercümanımda bu ifadenin doğru döneceğini kolayca görebiliyorum. c = set([])
>>> c = set([])
>>> c is not None
True
Ayrıca aşağıdakilerin tümünü denedim:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Şimdi ben sadece kullanabileceği belgelerinden okudum and, orve, notbir boolean değerini anlamak için boş setleri ile. Şimdiye kadar bulabildiğim tek şey geri dönmek değil c
>>> not not c
False
>>> not c
True
Bunu yapmanın çok daha pitonik bir yolu olduğunu hissediyorum, onu bulmak için çabalıyorum. Gerçek kümeyi bir if ifadesine döndürmek istemiyorum çünkü değerlere ihtiyacım yok, sadece kesişip kesişmediklerini bilmek istiyorum.
bool(set([]))