Tôi đã tìm ra cách tiếp cận bằng cách sử dụng map
chưa được đưa ra
tl;dr
def all_none[l]:
return not any[map[None.__ne__, l]]
all_none[[None, None, None]] # -> True
all_none[[None, None, 8]] # -> False
giải trình
Việc sử dụng
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
0 là một chút kỳ lạ hơn bạn mong đợi ngay từ cái nhìn đầu tiên. Phương thức này trả về một đối tượng list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
1 khi được cung cấp một cái gì đó không phải là không có.Bạn sẽ hy vọng rằng
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
2 sẽ là một sự thay đổi cho list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
3, tuy nhiên đó cũng là sự thật! Điều này có nghĩa là sử dụng list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
4 trên một bộ sưu tập sẽ tạo ra các giá trị thông minh cho mọi thứ.list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
Từ các tài liệu Python:
Theo mặc định, một đối tượng được coi là đúng trừ khi lớp của nó định nghĩa một phương thức bool [] trả về sai hoặc phương thức Len [] trả về khôngbool[] method that returns False or a len[] method that returns zero
Thay vào đó,
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
0 trả về list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
3 cho bất kỳ phần tử list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7 nào và đối tượng list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
1 cho bất cứ điều gì khác:list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
Sử dụng điều này, bạn có thể kiểm tra xem các phần tử
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
9 không phải là list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7 sẽ trả về list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
1. Tôi thích nghĩ đây là 2 phương pháp riêng biệt nếu điều đó giúp với các môn thể dục dụng cụ tinh thần.def contains_truthy[l]:
return any[map[None.__ne__, l]]
def all_none[l]:
return not contains_truthy[l]
Tôi đã không thực hiện bất kỳ điểm chuẩn nào với điều này, nhưng như được đề cập bởi những người khác trong chủ đề này,
list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
2 sẽ tạo ra kết quả nhanh chóng. Kiểm tra xem tất cả các mục trong danh sách không có trong Python #
Sử dụng chức năng
3 để kiểm tra xem tất cả các mục trong danh sách không có trong Python, ví dụ: list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
4. Hàm list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
3 lấy một sự khác biệt như một đối số và trả về list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
1 nếu tất cả các yếu tố trong điều đó là sự thật [hoặc có thể sử dụng được là trống].list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
Copied!
my_list = [None, None, None] # ✅ using all[] if all[i is None for i in my_list]: # 👇️ this runs print['all items in the list are None'] # ✅ using list.count[] if my_list.count[None] == len[my_list]: # 👇️ this runs print['all items in the list are None']
Chức năng tích hợp tất cả [] lấy một sự khác biệt như một đối số và trả về
list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
1 nếu tất cả các yếu tố của điều đó là sự thật [hoặc điều đó là trống rỗng].Copied!
my_list = [None, None, None] # 👇️ True print[all[i is None for i in my_list]]
Nếu trường hợp sử dụng của bạn không xem xét một danh sách trống để chứa tất cả các giá trị
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7, bạn cũng có thể kiểm tra độ dài của danh sách.Copied!
my_list = [None, None, None] # # ✅ using all[] if len[my_list] > 0 and all[i is None for i in my_list]: # 👇️ this runs print['all items in the list are None']
Chúng tôi đã chuyển một biểu thức máy phát cho hàm
list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
3.Biểu thức của máy phát được sử dụng để thực hiện một số hoạt động cho mọi phần tử hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.
Trong ví dụ, chúng tôi kiểm tra xem mỗi mục là
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7 và trả về kết quả. Nếu điều kiện được đáp ứng cho tất cả các mục, hàm list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
3 sẽ trả về list[map[None.__ne__, [None, None, 8]]]
# -> [False, False, NotImplemented]
1.Ngoài ra, bạn có thể sử dụng phương pháp
def contains_truthy[l]:
return any[map[None.__ne__, l]]
def all_none[l]:
return not contains_truthy[l]
3.Để kiểm tra xem tất cả các giá trị trong danh sách có không:
- Sử dụng phương thức
3 để đếm các giá trịdef contains_truthy[l]: return any[map[None.__ne__, l]] def all_none[l]: return not contains_truthy[l]
7 trong danh sách.list[map[None.__eq__, [None, None, 8]]] # -> [True, True, NotImplemented] all[list[map[None.__eq__, [None, None, 8]]]] # -> True
- Nếu số lượng giá trị
7 bằng chiều dài của danh sách, tất cả các giá trị trong danh sách làlist[map[None.__eq__, [None, None, 8]]] # -> [True, True, NotImplemented] all[list[map[None.__eq__, [None, None, 8]]]] # -> True
7.list[map[None.__eq__, [None, None, 8]]] # -> [True, True, NotImplemented] all[list[map[None.__eq__, [None, None, 8]]]] # -> True
Copied!
my_list = [None, None, None] # ✅ using list.count[] if my_list.count[None] == len[my_list]: # 👇️ this runs print['all items in the list are None']
Phương thức
def contains_truthy[l]:
return any[map[None.__ne__, l]]
def all_none[l]:
return not contains_truthy[l]
3 lấy giá trị và trả về số lần giá trị được cung cấp xuất hiện trong danh sách.Copied!
my_list = [None, None, None] print[my_list.count[None]] # 👉️ 3 print[my_list.count['hello']] # 👉️ 0
Nếu số lượng giá trị
list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7 trong danh sách giống như độ dài của danh sách, thì danh sách chỉ chứa các giá trị list[map[None.__eq__, [None, None, 8]]]
# -> [True, True, NotImplemented]
all[list[map[None.__eq__, [None, None, 8]]]]
# -> True
7.