Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中

Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中

python 的基本用法请浏览:https://www.cnblogs.com/ibingshan/p/9856424.html

这里讨论如何判断 key(键) 或者 value(值)是否在枚举中

1 from enum import Enum
2 class testEnum(Enum):
3     key1 = 0
4     key2 = 1
5 
6 "key1" in testEnum.__members__
7 0 in testEnum._value2member_map_

 

转载于:https://www.cnblogs.com/ibingshan/p/10303794.html

如果你想要将一个连续的数映射到离散的枚举区间,可以使用Python的字典或者使用pandas库的cut函数来实现。下面是两种不同的方法: 方法一:使用字典进行映射 ```python def map_value_to_enum(value): mapping = { (0, 10): 'BIN_1', (10, 20): 'BIN_2', (20, 30): 'BIN_3' } for key in mapping: if value >= key[0] and value < key[1]: return mapping[key] return None # 示例用法 value = 15 enum_value = map_value_to_enum(value) print(enum_value) # 输出: BIN_2 ``` 在这个示例,我们定义了一个字典`mapping`,其是数范围的元组,是对应的枚举。然后,我们定义了一个`map_value_to_enum`函数,它接受一个作为参数,并遍历字典,找到与该所属的数范围相匹配的枚举。如果找到匹配的数范围,则返回对应的枚举;否则,返回None。 在示例用法,我们将15作为传递给`map_value_to_enum`函数,并打印映射后的枚举。 方法二:使用pandas的cut函数进行映射 ```python import pandas as pd def map_value_to_enum(value): bins = [0, 10, 20, 30] labels = ['BIN_1', 'BIN_2', 'BIN_3'] return pd.cut([value], bins=bins, labels=labels, right=False)[0] # 示例用法 value = 15 enum_value = map_value_to_enum(value) print(enum_value) # 输出: BIN_2 ``` 在这个示例,我们使用pandas的`cut`函数将连续的数映射到离散的枚举区间。我们定义了一个分箱边界列表`bins`和对应的标签列表`labels`,然后使用`cut`函数将进行分箱并返回对应的枚举。 在示例用法,我们将15作为传递给`map_value_to_enum`函数,并打印映射后的枚举。 这两种方法都可以将连续的数映射到离散的枚举区间,你可以根据自己的需求选择合适的方法。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值