【Python基础】index函数-返回查找对象的首个匹配的索引位置
  NnnTmu8BCWC1 2023年11月02日 44 0

描述

从列表中找出某个值第一个匹配项的索引位置

返回的是查找对象的索引位置,如果没有,就会抛出异常


语法

List.index(a, start, end)


参数解释

a

要查找的对象(必填)

start

要查找的范围的开始位置索引(闭区间)(非必填)

end

要查找的范围的结束位置索引(开区间)(有end就必须有start,有start时可以没end)


举个栗子

栗子-01

不设置start和end,在整个数组中查找

代码
s = [1, 123, 'tiger', '狮子', 8, -9, '8', 8, 'lucy刘', 3.990, '张==', '冷吗?']

res1 = s.index(-9)  # 负数
res2 = s.index('8')  # 数据类型为字符的数字
res3 = s.index(8)  # 数组中有两个符合条件的对象
res4 = s.index(3.99)  # 数字,要求其数值是相等的即可
res5 = s.index('冷吗?')  # 完全字符(符号也要区分中英文,不然查询不到,就会报错异常)

print(
    res1,
    res2,
    res3,
    res4,
    res5,
      )


运行结果
5 6 4 9 11


栗子02

设置start和end,限制查找范围

注意:查找范围虽改变了,但其返回的索引下标还是按照原本的整个数组来排列的,例如下面的res2

s = [1, 123, 'tiger', '狮子', 8, -9, '8', 8, 'lucy刘', 3.990, '张==', '冷吗?']

res1 = s.index(-9, 2, 9)  # 并非整个数组都是查找范围
res2 = s.index('8', 0, 11)  # 整个数组都是查找范围
res3 = s.index(8, 5, 11)  # 查找范围从第二个匹配项开始
res4 = s.index(3.99, 3)  # 只设置start,end默认为数组结尾(不可以只设置end,语法不允许)

print(
    res1,
    res2,
    res3,
    res4,
      )
代码
5 6 7 9


运行结果


栗子03

要查找的对象不存在

代码
s = [1, 123, 'tiger', '狮子', 8, -9, '8', 8, 'lucy刘', 3.990, '张==', '冷吗?']

res1 = s.index(-9, 0, 5)  # 要查找的对象并未在查找范围内(start闭区间end开区间)

print(
    res1,
      )


运行结果
Traceback (most recent call last):
  File "巴拉巴拉巴拉巴拉文件路径马赛克", line 3, in <module>
    res1 = s.index(-9, 0, 3)  # 并非整个数组都是查找范围
ValueError: -9 is not in list









【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

NnnTmu8BCWC1
最新推荐 更多