diff options
author | Dong-hee Na <donghee.na@python.org> | 2021-07-05 09:04:36 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-05 09:04:36 (GMT) |
commit | 09302405d22e86884d6058226790c0cdf5b72f14 (patch) | |
tree | 43ce4c9cd74961e9b0aaf2452fb610967056661d | |
parent | abb08e3af6aa19928007a349592e95e6de38467f (diff) | |
download | cpython-09302405d22e86884d6058226790c0cdf5b72f14.zip cpython-09302405d22e86884d6058226790c0cdf5b72f14.tar.gz cpython-09302405d22e86884d6058226790c0cdf5b72f14.tar.bz2 |
bpo-44558: Make the implementation consistency of operator.indexOf (GH-27012)
-rw-r--r-- | Lib/operator.py | 2 | ||||
-rw-r--r-- | Lib/test/test_operator.py | 3 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2021-07-04-21-16-53.bpo-44558.cm7Slv.rst | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/Lib/operator.py b/Lib/operator.py index fb58851..6782703 100644 --- a/Lib/operator.py +++ b/Lib/operator.py @@ -173,7 +173,7 @@ def getitem(a, b): def indexOf(a, b): "Return the first index of b in a." for i, j in enumerate(a): - if j == b: + if j is b or j == b: return i else: raise ValueError('sequence.index(x): x not in sequence') diff --git a/Lib/test/test_operator.py b/Lib/test/test_operator.py index 1ecae85..d50306b 100644 --- a/Lib/test/test_operator.py +++ b/Lib/test/test_operator.py @@ -188,6 +188,9 @@ class OperatorTestCase: self.assertRaises(ZeroDivisionError, operator.indexOf, BadIterable(), 1) self.assertEqual(operator.indexOf([4, 3, 2, 1], 3), 1) self.assertRaises(ValueError, operator.indexOf, [4, 3, 2, 1], 0) + nan = float("nan") + self.assertEqual(operator.indexOf([nan, nan, 21], nan), 0) + self.assertEqual(operator.indexOf([{}, 1, {}, 2], {}), 0) def test_invert(self): operator = self.module diff --git a/Misc/NEWS.d/next/Library/2021-07-04-21-16-53.bpo-44558.cm7Slv.rst b/Misc/NEWS.d/next/Library/2021-07-04-21-16-53.bpo-44558.cm7Slv.rst new file mode 100644 index 0000000..647a704 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-07-04-21-16-53.bpo-44558.cm7Slv.rst @@ -0,0 +1,2 @@ +Make the implementation consistency of :func:`~operator.indexOf` between +C and Python versions. Patch by Dong-hee Na. |