整理Python find()、Python index()和Python List index()

参考来源菜鸟教程

Python find()方法

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法:

str.find(str, beg=0, end=len(string))

参数

  • str – 指定检索的字符串
  • beg – 开始索引,默认为0
  • end – 结束索引,默认为字符串的长度

返回值

如果包含子字符串返回开始的索引值,否则返回-1。

Python index()方法

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法

str.index(str, beg=0, end=len(string))

参数

  • str – 指定检索的字符串
  • beg – 开始索引,默认为0
  • end – 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则抛出异常。

Python List index()方法

index() 函数用于从列表中找出某个值第一个匹配项的索引位置。

语法

list.index(obj)

参数

  • obj–查找的对象

返回值

该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。

Python 中,`find` `index` 是常用于查找特定元素或子字符串位置的方法,二者在不同数据类型中有不同的用法,以下为详细介绍: ### 用法 - **`find()` 方法**:该方法是字符串对象的方法,只能在字符串上调用,用于检测查询字符串中的目标字符(串),并返回索引。若存在目标字符(串),则返回目标字符(串)第一次出现的索引(字符串中字符索引从左到右,从 0 开始计算);若不存在,则返回 -1。其语法为 `str.find(string, start, end)`,其中 `str` 表示原字符串,`string` 表示要检索的子字符串,`start` 为可选参数,表示检索范围的起始位置的索引,若不指定,则从头开始检索,`end` 同样为可选参数,表示检索范围的结束位置的索引,若不指定,则一直检索到结尾 [^3][^4]。 ```python text = "Hello, World!" print(text.find("o")) # 输出 4 ``` - **`index()` 方法**:在列表字符串中均可使用。在列表中,可用于查找元素第一次出现的位置;在字符串中,用于检索是否包含指定的子字符串,若存在,则返回首次出现该子字符串时的索引。其语法为 `str.index(sub[, start[, end]])`,参数含义与 `find()` 方法一致。当指定的检索范围中不存在该子字符串时,`index()` 方法会抛出异常 [^1][^4]。 ```python # 列表中的 index() 方法 my_list = [10, 20, 30, 20] print(my_list.index(20)) # 输出 1 # 字符串中的 index() 方法 text = "Hello, World!" print(text.index("o")) # 输出 4 ``` ### 区别 二者的主要区别在于对指定字符串不存在情况的处理方式。使用 `index()` 方法时,若指定的字符串不存在,会抛出异常;而使用 `find()` 方法时,则会返回 -1 [^4]。 ```python text = "Hello, World!" try: print(text.index("xyz")) except ValueError: print("ValueError: substring not found") print(text.find("xyz")) # 输出 -1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值