You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从Python Enum生成键为枚举名称的字典?

解决枚举字典键改为枚举名称的问题

嘿,这事儿超容易搞定!你现在的代码里用枚举实例当字典的键,要换成枚举的名称(比如VANILLA),只需要利用枚举成员自带的name属性就行啦。

修改后的代码如下:

from enum import Enum
class Shake(Enum):
    VANILLA = "vanilla"
    CHOCOLATE = "choc"
    COOKIES = "cookie"
    MINT = "mint"
dct = {}
for i in Shake:
    dct[i.name] = i.value  # 这里把i换成i.name,拿到枚举的名称作为键
print(dct)

执行这段代码后,输出就会变成你想要的样子:

{'VANILLA': 'vanilla', 'CHOCOLATE': 'choc', 'COOKIES': 'cookie', 'MINT': 'mint'}

简单说下原理:每个枚举成员都有两个实用属性——name就是你定义枚举时写的那个大写标识符(比如VANILLA),value是它对应的值。原来的代码用了枚举实例本身当键,现在替换成i.name,就正好拿到了枚举的名称作为字典键啦。

内容的提问来源于stack exchange,提问作者variable

火山引擎 最新活动