Hướng dẫn python check if all values are not none - python kiểm tra nếu tất cả các giá trị không phải là không có

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

list(map(None.__ne__, [None, None, 8]))
# -> [False, False, NotImplemented]
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).

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:

  1. Sử dụng phương thức
    def contains_truthy(l):
        return any(map(None.__ne__, l))
    
    def all_none(l):
        return not contains_truthy(l)
    
    3 để đếm các 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.
  2. 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 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.

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.

Làm thế nào để bạn kiểm tra xem tất cả các giá trị trong danh sách không có python?

Sử dụng hàm tất cả () để kiểm tra xem tất cả các mục trong danh sách không có trong Python, ví dụ: Nếu tất cả (tôi không dành cho tôi trong my_list):. Hàm tất cả () lấy một sự khác biệt như một đối số và trả về đúng nếu tất cả các yếu tố trong điều đó là sự thật (hoặc điều đó là trống rỗng). to check if all items in a list are None in Python, e.g. if all(i is None for i in my_list): . The all() function takes an iterable as an argument and returns True if all of the elements in the iterable are truthy (or the iterable is empty).

Làm thế nào để bạn kiểm tra xem một giá trị không phải là không có trong Python?

Sử dụng toán tử IS không để kiểm tra xem một biến không phải là không có trong Python, ví dụ: Nếu my_var không phải là không:. Toán tử không trả về đúng nếu các giá trị ở bên trái và bên phải không trỏ đến cùng một đối tượng (cùng một vị trí trong bộ nhớ). to check if a variable is not None in Python, e.g. if my_var is not None: . The is not operator returns True if the values on the left-hand and right-hand sides don't point to the same object (same location in memory).

Làm thế nào để bạn kiểm tra nếu một danh sách là không?

Phương pháp 1: Sử dụng không vận hành..
Tạo một biến để lưu trữ danh sách trống đầu vào ..
Kiểm tra xem danh sách có trống hay không bằng cách sử dụng nếu điều kiện và không vận hành ..
Nếu danh sách trống thì (không phải danh sách) trả về đúng ..
Nếu (không phải danh sách) trả về sai thì danh sách không trống ..

Làm thế nào để bạn kiểm tra xem một danh sách có phải là tất cả các zeros python?

Sử dụng hàm All () để kiểm tra xem tất cả các giá trị trong danh sách bằng không, ví dụ:Nếu tất cả (mục == 0 cho mục trong my_list):.Hàm tất cả () sẽ trả về true nếu tất cả các giá trị trong danh sách bằng không và sai nếu không. to check if all values in a list are zero, e.g. if all(item == 0 for item in my_list): . The all() function will return True if all values in the list are zero and False otherwise.