79166359

Date: 2024-11-07 12:09:30
Score: 0.5
Natty:
Report link

Improved @supermodo results with caching of results.

from enum import IntEnum

class SuperIntEnum(IntEnum):
   _dict = None
   _items = None
   _keys = None
   _values = None

@classmethod
def to_dict(cls):
    if cls._dict is None:
        cls._dict = {e.name: e.value for e in cls}
    return cls._dict

@classmethod
def items(cls):
    if cls._items is None:
        cls._items = [(e.name, e.value) for e in cls]
    return cls._items

@classmethod
def keys(cls):
    if cls._keys is None:
        cls._keys = [e.name for e in cls]
    return cls._keys

@classmethod
def values(cls):
    if cls._values is None:
        cls._values = [e.value for e in cls]
    return cls._values
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • User mentioned (1): @supermodo
  • Low reputation (0.5):
Posted by: lexxai