麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

Python index()函數在字符串處理中的使用

2023-04-26 12:04:42
字體:
來源:轉載
供稿:網友

Python提供了大量的字符串處理函數,可以幫助我們完成很多有意義的工作。

這里介紹的 index() 函數也是一個Python內建的字符串處理函數,它的作用是返回子字符串在原字符串中首次出現的位置索引。

index()函數的語法格式

str.index( sub [, start [, end ]])

str:是要進行處理的字符串或字符串變量;

各參數的含義如下:

  • sub:要查找的子字符串;
  • start:可選參數,在 str 中開始查找的起始位置索引,默認為0;
  • end:可選參數,在 str 中查找時停止搜索的位置索引,默認為字符串的長度;

index()函數使用示例

1、只給出 sub 參數

>>> str1 = "武林網VEVB"
>>> print(str1.index('武林網'))
0
>>> print(str1.index('IT'))
3
>>> print(str1.index('樂園'))
5
>>> print(str1.index('it'))
Traceback (most recent call last):
    File "<pyshell#6>", line 1, in <module>
       print(str1.index('it'))
ValueError: substring not found
>>> str1 = "Python is good.Python is easy."
>>> print(str1.index('Python'))
0

從這個例子可以看出,如果原字符串中不包含要產找的子字符串,該函數會拋出一個 ValueError 錯誤:ValueError:substring not found,即未找到子字符串。

同時,這個例子也說明該函數是大小寫敏感的。

如果字符串中含有多個子字符串時,index() 函數僅給出第一次出現子串的索引位置。

以上例子在Python IDLE中運行的情況如下圖所示:

Python index()函數使用的例子

2、使用 sub 和 start 參數

>>> str1 = "www.companysz.com"
>>> print(str1.index('VeVb', 3))
4
>>> print(str1.index('.com', -4))
10
>>> str1 = "Python is good.Python is easy."
>>> print(str1.index("Python", 0))
0
>>> print(str1.index("Python", 3))
15

從該例可以看出,start 參數也可以給負數,即從字符串的尾端往前定位,從字符串尾端往前定位時,最后一個字符的索引為-1,則該例給的 -4 的值是字符“.”的位置。

以上例子在Python 3.8.2中的運行情況:

Python index()函數使用舉例

3、使用end參數

>>> str1 = "河北泊頭:中國鴨梨第一鄉"
>>> print(str1.index("泊頭", 2, 4))
2
>>> print(str1.index("泊頭", 2, 3))
Traceback (most recent call last):
    File "<pyshell#21>", line 1, in <module>
        print(str1.index("泊頭", 2, 3))
ValueError: substring not found
>>> print(str1.index("泊頭", 1, -3))
2

以上在Python 3.8.2中的運行情況如下圖所示:

end 參數是index()函數搜索的停止位置,在匹配子串時不包括 end 位置的字符,上面第2個例子就說明了這個問題。

同時,end 參數也可以使用負數來表示,則是從后往前進行定位。

index()函數異常的處理

由于當字符串中不含子串時,index() 函數會報錯,有時使用不夠方便。在實際中,我們可以借助Python的異常處理機制來完成工作,見下面的例子。

>>> str1 = "武林網VEVB"
>>> try:
           print(str1.index('It'))
except ValueError as ve:
           print("沒有找到子字符串")

沒有找到子字符串

在Python3.8.2中的運行情況如下圖所示:

index() vs find()

在Python中 index()函數與 find()函數(find()函數的使用見本站《Python中find()字符串函數的使用方法》)僅有一點不同之處,那就是find()函數在給子字符串定位時,當字符串中不包含子字符串的值時,會返回-1,而不是像index()那樣給出一個 ValueError 的錯誤。見下面的對比例子:

>>> str1 = "I Love you."
>>> print(str1.index('love'))
Traceback (most recent call last):
    File "<pyshell#42>", line 1, in <module>
       print(str1.index('love'))
ValueError: substring not found
>>> print(str1.find('love'))
-1
>>>

本文(完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久色免费视频 | 2019中文字幕在线播放 | 狠狠干五月天 | 欧产日产国产精品99 | 精品1 | 在线播放一级片 | 亚洲精品久久久久久久久久久 | 中文字幕在线免费 | 久久久久久久久久久影视 | 精品一区二区亚洲 | 国产亚洲综合一区二区 | 999精品国产 | 538任你躁在线精品视频网站 | 孕妇体内谢精满日本电影 | 凹凸成人精品亚洲精品密奴 | 国产一区二区在线免费 | 亚洲αv | 久久精品中文字幕一区二区三区 | 国产亚洲精品久久久久久久 | 一区二区三区欧美日韩 | 羞羞网站入口 | 国产午夜电影在线观看 | 久久国产一二区 | 黄色免费在线网址 | 一区二区三区日本在线观看 | 人人做人人看 | 久久伊人精品视频 | 91精彩视频| 久久久久999 | 欧美精品成人一区二区在线观看 | 欧美1区2区在线观看 | 亚洲精品无码不卡在线播放he | 天天干干 | 国产 视频 一区二区 | 久久精品男人 | 国产精品自拍片 | 91av久久| 国产精品麻豆91 | 日韩精品中文字幕一区二区 | 99精品视频网站 | 黄色美女网站免费看 |