Hướng dẫn check if enum contains value python - kiểm tra xem enum có chứa giá trị python không

Kiểm tra các giá trị

Biến thể 1

Lưu ý rằng

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
0 có một thành viên tên là
5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
1 (không có giấy tờ và có thể được thay đổi/loại bỏ trong các phiên bản Python trong tương lai):

print(Fruit._value2member_map_)
# {4: , 5: , 6: }

Bạn có thể kiểm tra xem một giá trị nằm trong

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
0 của bạn so với bản đồ này:

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False

Biến thể 2

Nếu bạn không muốn dựa vào tính năng này thì đây là một giải pháp thay thế:

values = [item.value for item in Fruit]  # [4, 5, 6]

hoặc (có thể tốt hơn): sử dụng

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
3; Nhà điều hành
5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
4 sẽ hiệu quả hơn:

values = set(item.value for item in Fruit)  # {4, 5, 6}

Sau đó kiểm tra với

5 in values  # True
7 in values  # False

Thêm 5 in Fruit._value2member_map_ # True 7 in Fruit._value2member_map_ # False 5 vào lớp của bạn

Sau đó, bạn có thể thêm điều này làm phương thức vào lớp của bạn:

class Fruit(Enum):
    Apple = 4
    Orange = 5
    Pear = 6

    @classmethod
    def has_value(cls, value):
        return value in cls._value2member_map_ 

print(Fruit.has_value(5))  # True
print(Fruit.has_value(7))  # False

Kiểm tra các phím

Nếu bạn muốn kiểm tra các tên (chứ không phải giá trị), tôi sẽ sử dụng

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
6:

'Apple' in Fruit._member_names_  # True
'Mango' in Fruit._member_names_  # False

Kiểm tra xem một giá trị có tồn tại trong một enum trong python # không

Để kiểm tra xem một giá trị có tồn tại trong một enum trong Python:

  1. Sử dụng danh sách hiểu để có được danh sách tất cả các giá trị của Enum.
  2. Sử dụng toán tử
    5 in Fruit._value2member_map_  # True
    7 in Fruit._value2member_map_  # False
    
    4 để kiểm tra xem giá trị có trong danh sách không.
  3. Toán tử
    5 in Fruit._value2member_map_  # True
    7 in Fruit._value2member_map_  # False
    
    4 sẽ trả về
    5 in Fruit._value2member_map_  # True
    7 in Fruit._value2member_map_  # False
    
    9 nếu giá trị nằm trong danh sách.

Copied!

from enum import Enum class Sizes(Enum): SMALL = 1 MEDIUM = 2 LARGE = 3 values = [member.value for member in Sizes] print(values) # 👉️ [1, 2, 3] if 2 in values: # 👇️ this runs print('2 is in enum values') else: print('2 is NOT in enum values') print(100 in values) # 👉️ False

Chúng tôi đã sử dụng một danh sách hiểu để có được danh sách các giá trị của Enum.

Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu 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.

Bước cuối cùng là sử dụng toán tử

5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
4 để kiểm tra xem một giá trị cụ thể có trong danh sách không.

Các thử nghiệm trong nhà điều hành để thành viên. Ví dụ,

values = [item.value for item in Fruit]  # [4, 5, 6]
1 đánh giá thành
5 in Fruit._value2member_map_  # True
7 in Fruit._value2member_map_  # False
9 nếu
values = [item.value for item in Fruit]  # [4, 5, 6]
3 là thành viên của
values = [item.value for item in Fruit]  # [4, 5, 6]
4, nếu không nó sẽ đánh giá thành
values = [item.value for item in Fruit]  # [4, 5, 6]
5.

Nếu bạn cần kiểm tra xem giá trị không nằm trong enum, hãy phủ nhận điều kiện với

values = [item.value for item in Fruit]  # [4, 5, 6]
6.

Copied!

from enum import Enum class Sizes(Enum): SMALL = 1 MEDIUM = 2 LARGE = 3 values = [member.value for member in Sizes] print(values) # 👉️ [1, 2, 3] if 100 not in values: # 👇️ this runs print('100 is NOT in enum values')

Bạn có thể sử dụng cùng một cách tiếp cận nếu bạn cần kiểm tra xem một tên cụ thể có mặt trong enum không.

Copied!

from enum import Enum class Sizes(Enum): SMALL = 1 MEDIUM = 2 LARGE = 3 names = [member.name for member in Sizes] print(names) # 👉️ ['SMALL', 'MEDIUM', 'LARGE'] if 'SMALL' in names: # 👇️ this runs print('SMALL is in enum names')

Thay vì truy cập thuộc tính

values = [item.value for item in Fruit]  # [4, 5, 6]
7, chúng tôi đã sử dụng thuộc tính
values = [item.value for item in Fruit]  # [4, 5, 6]
8 để lấy danh sách tên của Enum.

Làm thế nào để bạn kiểm tra xem một enum có chứa một giá trị python?

Để kiểm tra xem một giá trị có tồn tại trong một enum trong Python không: sử dụng danh sách hiểu để có được danh sách tất cả các giá trị của Enum.Sử dụng toán tử trong để kiểm tra xem giá trị có trong danh sách không.Toán tử sẽ trả về true nếu giá trị nằm trong danh sách.Use the in operator to check if the value is present in the list. The in operator will return True if the value is in the list.

Làm thế nào để bạn kiểm tra xem một giá trị tồn tại trong enum?

Để kiểm tra xem một giá trị có tồn tại trong một enum:..
Sử dụng đối tượng.Giá trị () phương thức để có được một mảng các giá trị của enum ..
Sử dụng phương thức bao gồm () để kiểm tra xem giá trị có tồn tại trong mảng không ..
Phương thức bao gồm sẽ trả về true nếu giá trị được chứa trong enum và sai nếu không ..

Enum có thể có nhiều giá trị python không?

Enums không thể có nhiều giá trị cho mỗi tên..

Tự động trong Enum Python là gì?

Giới thiệu về hàm enum auto () Trong ví dụ này, chúng tôi chỉ định thủ công các giá trị số nguyên cho các thành viên của bảng liệt kê.Để làm cho nó thuận tiện hơn, Python 3.6 đã giới thiệu lớp trợ giúp tự động () trong mô -đun Enum, tự động tạo các giá trị duy nhất cho các thành viên liệt kê.automatically generates unique values for the enumeration members.