我很好奇为什么尝试获取索引时ValueError在List和Tuple中会有所不同。列表的ValueError以正确的格式返回,且带有实际参数“ ValueError:'ITEM'不在列表中”,而tuple返回类似“ ValueError:tuple.index(x):x不在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
答案 0 :(得分:4)
列表和元组的index
方法(包括凸起的ValueError
的文本)在实现上有所不同。
请参见ValueError string for tuple.index和ValueError string for list.index