From: Nikita Sobolev Date: Sat, 7 Jan 2023 21:26:05 +0000 (+0300) Subject: gh-100792: Make `email.message.Message.__contains__` twice as fast (#100793) X-Git-Tag: v3.12.0a4~32 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6746135b0722a5359ce6346554c847afba603b5a;p=thirdparty%2FPython%2Fcpython.git gh-100792: Make `email.message.Message.__contains__` twice as fast (#100793) --- diff --git a/Lib/email/message.py b/Lib/email/message.py index 65fda507251c..b540c33984a7 100644 --- a/Lib/email/message.py +++ b/Lib/email/message.py @@ -448,7 +448,11 @@ class Message: 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 000000000000..5966bc1e6051 --- /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.