canfeng0522 发表于 2022-6-13 00:11:15

Python请问为啥这两种情况结果不一样嘞?

这种可以正确返回元素的索引值:
            
但是下面这种情况却会报错:

            
不是很理解

isdkz 发表于 2022-6-13 00:11:16

因为你的第一种情况,最后一个是 'banana',所以从倒数第一个开始找可以找到 'banana',

而你的第二种情况从倒数第一个开始是找不到 1 的,index 找不到的时候就会报错

临时号 发表于 2022-6-13 02:50:26

-1是列表索引的最后一个值
而index('banana',-1)表示的是从列表的最后一个值开始找,刚好在最后一个找到了,所以返回了'banana'的索引
而index(1,-1)表示的是从列表的最后一个值开始找,但是却没有找到1,所以报出了异常

B站在读研究生 发表于 2022-6-13 08:02:19

index函数
第一个参数是查找的对象
第二个参数是查找的起始位置
第三个参数是查找的结束位置
返回从列表中找出某个值第一个匹配项的索引位置,找不到报错

index(1, -1)从列表最后一个元素开始到列表结束(只有2一个元素)找1,没找到报错
页: [1]
查看完整版本: Python请问为啥这两种情况结果不一样嘞?