Tôi đang đấu tranh để tìm một cách rõ ràng hơn để trả về giá trị boolean nếu tập hợp của tôi trống ở cuối hàm của tôi
Tôi lấy phần giao nhau của hai tập hợp và muốn trả về True
hoặc False
dựa trên nếu tập hợp kết quả là trống.
def myfunc(a,b):
c = a.intersection(b)
#...return boolean here
Suy nghĩ ban đầu của tôi là làm
return c is not None
Tuy nhiên, trong trình thông dịch của tôi, tôi có thể dễ dàng thấy rằng câu lệnh sẽ trả về true nếu c = set([])
>>> c = set([])
>>> c is not None
True
Tôi cũng đã thử tất cả những cách sau:
>>> c == None
False
>>> c == False
False
>>> c is None
False
Bây giờ tôi đã đọc từ tài liệu mà tôi chỉ có thể sử dụng and
, or
và not
với bộ trống để suy ra một giá trị boolean. Cho đến nay, điều duy nhất tôi có thể nghĩ ra là trở về không phải là c
>>> not not c
False
>>> not c
True
Tôi có cảm giác có một cách hay ho hơn nhiều để làm điều này, bởi tôi đang đấu tranh để tìm ra nó. Tôi không muốn trả lại tập thực tế thành câu lệnh if vì tôi không cần các giá trị, tôi chỉ muốn biết liệu chúng có giao nhau hay không.
bool(set([]))