這篇文章給大家分享的是有關(guān)python在字符串中如何查找指定字符的多個(gè)索引的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司致力于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇成都創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
Python中查找字符串指定字符的常用方法有find()、index()。
用法:
str = 'abcd' print(str.find('c')) #輸出即為查找指定字符的索引值 print(str.index('c')) #輸出即為查找指定字符的索引值
區(qū)別:
當(dāng)指定字符在該字符串中不存在時(shí),find輸出為-1.index則會(huì)報(bào)錯(cuò),如下:
str = 'abcd' print(str.find('f')) #-1 print(str.index('f')) #ValueError: substring not found
缺點(diǎn):
find()和index()只能找到第一個(gè)索引值。如果指定字符同時(shí)存在多個(gè),只會(huì)輸出第一個(gè)指定字符的索引值。
需要說明的是:Python并沒有內(nèi)置方法可直接解決這個(gè)問題。所以需要自己定義一個(gè)方法去解決這個(gè)問題。
lstKey = [] #定義空列表用于存儲(chǔ)多個(gè)指定字符的索引 lengthKey = 0 str = input('字符串:') key = input('要查找的關(guān)鍵字:') #字符串中存在指定字符串的個(gè)數(shù) countStr = str.count(key) #利用獲取的countStr進(jìn)行判斷 if countStr < 1: print('該字符串中無要查找的字符') elif countStr == 1: #當(dāng)字符串中只有一個(gè)指定字符時(shí),直接通過find()方法即可解決 indexKey = str.find(key) print('查找的關(guān)鍵字的索引為:',indexKey) else: #當(dāng)字符串中存在多個(gè)指定字符的處理方法 #第一個(gè)指定字符的處理方法 indexKey = str.find(key) lstKey.append(indexKey) #將第一個(gè)索引加入到lstKey列表中 #其余指定字符的處理方法 while countStr > 1: #將前一個(gè)指定字符之后的字符串截取下來 str_new = str[indexKey+1:len(str)+1] #獲取截取后的字符串中前一個(gè)指定字符的索引值 indexKey_new = str_new.find(key) #后一個(gè)索引值=前一個(gè)索引值+1+indexkey_new indexKey = indexKey+1 +indexKey_new #將后發(fā)現(xiàn)的索引值加入lstKey列表中 lstKey.append(indexKey) countStr -= 1 print('查找的關(guān)鍵字的索引為',lstKey)
感謝各位的閱讀!關(guān)于python在字符串中如何查找指定字符的多個(gè)索引就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!