diff --git a/Lib/email/message.py b/Lib/email/message.py index 65fda507251ce3..b540c33984a753 100644 --- a/Lib/email/message.py +++ b/Lib/email/message.py @@ -448,7 +448,11 @@ def __delitem__(self, name): self._headers = newheaders def __contains__(self, name): - return name.lower() in [k.lower() for k, v in self._headers] + name_lower = name.lower() + for k, v in self._headers: + if name_lower == k.lower(): + return True + return False def __iter__(self): for field, value in self._headers: diff --git a/Misc/NEWS.d/next/Library/2023-01-06-14-05-15.gh-issue-100792.CEOJth.rst b/Misc/NEWS.d/next/Library/2023-01-06-14-05-15.gh-issue-100792.CEOJth.rst new file mode 100644 index 00000000000000..5966bc1e605158 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-01-06-14-05-15.gh-issue-100792.CEOJth.rst @@ -0,0 +1 @@ +Make :meth:`email.message.Message.__contains__` twice as fast.