◐ Shell
clean mode source ↗

Message 294631 - Python tracker

I concur with Raymond.

But shouldn't we change error messages that contains the repr of not found value? Affected collections are list, deque and range.

>>> [].index('spam')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'spam' is not in list
>>> import collections
>>> collections.deque().index('spam')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'spam' is not in deque

range.index() raises different error messages depending on the type of the value:

>>> range(10).index('spam')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: sequence.index(x): x not in sequence
>>> range(10).index(42)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 42 is not in range