Comparisons and sorting of a numeric class....

Rustom Mody rustompmody at gmail.com
Fri Jan 23 18:03:38 CET 2015


On Friday, January 23, 2015 at 10:22:06 PM UTC+5:30, Ian wrote:
> On Fri, Jan 23, 2015 at 8:31 AM, Rustom Mody wrote:
> > Can you tell me what of the following code does not satisfy your requirements?
> > [Needs python 3.4]
> >
> >
> >>>> from enum import IntEnum
> >>>> class B4(IntEnum):
> >         F1 = 0
> >         F2 = 0
> >         F3 = 0
> >         T  = 1
> 
> This strikes me as a potential problem:
> 
> >>> B4.F1 is B4.F2 is B4.F3
> True
> >>> list(B4)
> [<B4.F1: 0>, <B4.T: 1>]
> 
> Enum members with the same values are just aliases for one another,
> not distinct entities.

Yeah....

The only workaround I have been able to come up with is:

class B4(IntEnum):
>         F1 = 0
>         F2 = ""
>         F3 = None
>         T  = 1 

which is not bad; its ridiculous
[Like going around with a broken broom searching for falsey objects :-) ]



More information about the Python-list mailing list