题目
在 Python 中,列表 list1 = ['a', 'b', 123, 'd', 'e'],执行 list1.index('b', 2) 的结果是?A. 1B. 2C. 3D. 报错 ValueError
在 Python 中,列表 list1 = ['a', 'b', 123, 'd', 'e'],执行 list1.index('b', 2) 的结果是?
A. 1
B. 2
C. 3
D. 报错 ValueError
题目解答
答案
D. 报错 ValueError
解析
考查要点:本题主要考查Python中列表的index方法的用法,特别是带起始位置参数时的行为。
解题核心思路:
- 理解
index方法的参数:list.index(value, start)表示从索引start开始向后查找value,若未找到则抛出ValueError。 - 明确起始位置的有效性:若
start超出列表范围(如大于等于列表长度),直接报错;若在有效范围内但未找到目标值,同样报错。 - 结合题目具体参数分析:本题中
start=2,需检查从索引2开始的后续元素是否包含目标值'b'。
破题关键点:
- 列表元素的位置:原列表中
'b'的索引是1,但start=2会跳过该位置,导致后续查找失败。
方法解析
list.index(value, start)的逻辑如下:
- 从
start开始向后遍历列表,依次检查每个元素是否等于value。 - 若找到匹配项,返回其索引;若未找到,抛出
ValueError。
代入题目参数
- 目标值:
'b' - 起始位置:
start=2(对应元素123) - 后续元素:索引2、3、4处的元素依次为
123、'd'、'e',均不等于'b'。
结论:从索引2开始无法找到'b',因此抛出ValueError。