diff options
-rw-r--r-- | Lib/enum.py | 6 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-12-26-02-28-00.bpo-35585.Lkzd3Z.rst | 1 |
2 files changed, 2 insertions, 5 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index f7452f0cc0..fec1aed9b2 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -563,10 +563,8 @@ class Enum(metaclass=EnumMeta): # by-value search for a matching enum member # see if it's in the reverse mapping (for hashable values) try: - return cls._value2member_map_[value] - except KeyError: - # Not found, no need to do long O(n) search - pass + if value in cls._value2member_map_: + return cls._value2member_map_[value] except TypeError: # not there, now do long search -- O(n) behavior for member in cls._member_map_.values(): diff --git a/Misc/NEWS.d/next/Library/2018-12-26-02-28-00.bpo-35585.Lkzd3Z.rst b/Misc/NEWS.d/next/Library/2018-12-26-02-28-00.bpo-35585.Lkzd3Z.rst deleted file mode 100644 index 247a4ae680..0000000000 --- a/Misc/NEWS.d/next/Library/2018-12-26-02-28-00.bpo-35585.Lkzd3Z.rst +++ /dev/null @@ -1 +0,0 @@ -Speed-up building enums by value, e.g. http.HTTPStatus(200). |