Saya berjuang untuk menemukan cara yang lebih bersih untuk mengembalikan nilai boolean jika set saya kosong di akhir fungsi saya
Saya mengambil persimpangan dua set, dan ingin mengembalikan Trueatau Falseberdasarkan jika set yang dihasilkan kosong.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Pikiran awal saya adalah melakukannya
return c is not None
Namun, dalam interpreter saya, saya dapat dengan mudah melihat bahwa pernyataan itu akan kembali menjadi true jika c = set([])
>>> c = set([])
>>> c is not None
True
Saya juga mencoba semua yang berikut ini:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Sekarang saya sudah membaca dari dokumentasi bahwa saya hanya dapat menggunakan and, ordan notdengan himpunan kosong untuk menyimpulkan nilai boolean. Sejauh ini, satu-satunya hal yang bisa saya pikirkan adalah kembali bukan c
>>> not not c
False
>>> not c
True
Saya merasa ada cara yang jauh lebih pythonic untuk melakukan ini, dengan saya berjuang untuk menemukannya. Saya tidak ingin mengembalikan kumpulan aktual ke pernyataan if karena saya tidak membutuhkan nilainya, saya hanya ingin tahu apakah nilainya berpotongan.
bool(set([]))