I have an Enum of days_of_the week in Python:
class days_of_the_week(str, Enum):
monday = 'monday'
tuesday = 'tuesday'
wednesday = 'wednesday'
thursday = 'thursday'
friday = 'friday'
saturday = 'saturday'
sunday = 'sunday'
I want to access the value using the index.
I've tried:
days_of_the_week.value[index]
days_of_the_week[index].value
days_of_the_week.values()[index]
and so on... But everything I tried didn't returned me the value of enum (eg. days_of_the_week[1] >>> 'tuesday')
Is there a way?
CodePudding user response:
Those are simply string constants. They do not have an "index" and cannot be referred to that way.
However, you don't need to write that at all. Python provides it.
>>> import calendar
>>> list(calendar.day_name)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
>>> calendar.day_name[5]
'Saturday'
>>>
CodePudding user response:
IIUC, you want to do:
from enum import Enum
class days_of_the_week(Enum):
monday = 0
tuesday = 1
wednesday = 2
thursday = 3
friday = 4
saturday = 5
sunday = 6
>>> days_of_the_week(1).name
'tuesday'