Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a dict from an enum?

How to make a dict from an enum?

from enum import Enum
class Shake(Enum):
    VANILLA = "vanilla"
    CHOCOLATE = "choc"
    COOKIES = "cookie"
    MINT = "mint"

dct = {}
for i in Shake:
    dct[i]=i.value

print(dct)

Output:

{<Shake.VANILLA: 'vanilla'>: 'vanilla', <Shake.CHOCOLATE: 'choc'>: 'choc', <Shake.COOKIES: 'cookie'>: 'cookie', <Shake.MINT: 'mint'>: 'mint'}

But I want the key to be VANILLA and not <Shake.VANILLA: 'vanilla'>

like image 893
variable Avatar asked Sep 06 '25 03:09

variable


1 Answers

you can just use a dictionary comprehension

from enum import Enum
class Shake(Enum):
    VANILLA = "vanilla"
    CHOCOLATE = "choc"
    COOKIES = "cookie"
    MINT = "mint"

dct = {i.name: i.value for i in Shake}
print(dct)

OUTPUT

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

like image 170
Chris Doyle Avatar answered Sep 07 '25 16:09

Chris Doyle