Различные ValueError для одной и той же операции в List и Tuple - PullRequest
2 голосов
/ 26 марта 2019

Мне любопытно, почему ValueErrors различаются в List и Tuple, когда я пытаюсь получить индекс. ValueError списка возвращается в формате скважины с фактическим аргументом «ValueError:« ITEM »отсутствует в списке», тогда как кортеж возвращает что-то вроде этого «ValueError: tuple.index (x): x not in tuple». Я думаю, что List и Tuple оба вызывают один и тот же метод index (), тогда почему он вызывает разные ValueErrors?


>>> jframe_li
['Angular', 'React', 'Vue.js', 'Ember.js', 'Mereor', 'Node.js', 'Backbone.js']
>>> jframe_tu
('Angular', 'React', 'Vue.js', 'Ember.js', 'Mereor', 'Node.js', 'Backbone.js')
>>> jframe_li.index('React')
1
>>> jframe_tu.index('React')
1
>>> jframe_li.index('react')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'react' is not in list

>>> jframe_tu.index('react')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple

1 Ответ

4 голосов
/ 26 марта 2019

Существуют различия в реализации методов index для списков и кортежей, в том числе в тексте поднятой ValueError.

См. Строка ValueError для tuple.index и Строка ValueError для list.index

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...