Python中find()的用法小結(jié)
Python中find()函數(shù)是字符串對象的方法,只能在字符串上調(diào)用,用于檢測查詢字符串中的目標(biāo)字符(串),并返回索引。有目標(biāo)字符(串),則返回目標(biāo)字符(串)第一次出現(xiàn)的索引(字符串中字符索引從左到右,從0開始計算);無目標(biāo)字符(串),則返回 -1。
語法:str.find(string,start,end)
str:待查詢的字符串。
string:待檢測的目標(biāo)字符(串),可為單個字符或多個字符組成的字符串。
start:從待查詢的字符串中搜索的起始位置,可不填,但不能空置,不填時為0。
end:從待查詢的字符串中搜索的結(jié)束位置,有end必須要有start,否則會報錯;可不填,不填時為字符串長度。
實例
實例一、簡單字符查找
1、查找待查詢字符串中目標(biāo)字符,返回目標(biāo)字符的索引。
s="Hello Word!"
a="o"
print("字符o在字符串中的索引為:",s.find(a))#輸出結(jié)果為字符o在字符串中的索引為: 42、查找待查詢字符串固定位置目標(biāo)字符,返回目標(biāo)字符的索引。
s="Hello Word!"
a="o"
print("字符o在字符串中的索引為:",s.find(a,0,4))#輸出結(jié)果為字符o在字符串中的索引為: -1
print("字符o在字符串中的索引為:",s.find(a,6,8))#輸出結(jié)果為字符o在字符串中的索引為: 7
print("字符o在字符串中的索引為:",s.find(a,1))#輸出結(jié)果為字符o在字符串中的索引為: 4
3、查找待查詢字符串中所有符合條件的字符(串),并返回字符串索引 。
s="Hello Word!"#定義字符串
start_index=0#初始化起始位置
while True:
index=s.find("o",start_index)
if index==-1:
break
else:
print("字符o的索引位置為:",index)
start_index=index+1#更新起始位置
'''
輸出結(jié)果為:
字符o的索引位置為: 4
字符o的索引位置為: 7
'''4、查找條件填寫錯誤
s="Hello Word!"
a="o"
print("字符o在字符串中的索引為:",s.find(a,,10))#start位置空置未填寫數(shù)據(jù)導(dǎo)致運行報錯
'''
File "e:110701.py", line 3
print("字符o在字符串中的索引為:",s.find(a,,10))#輸出結(jié)果為字符o在字符串中的索引為: -1
^
SyntaxError: invalid syntax
'''實例二、結(jié)合if語句進(jìn)行實踐
過7游戲
一圈人從1開始報數(shù)循環(huán),逢7的倍數(shù)或數(shù)字中包含7不能喊具體數(shù)字,以鼓掌一次形式跳過,喊出數(shù)字或未鼓掌一次跳過視為違規(guī),需要接受懲罰。
簡化一下,輸入一個整數(shù),計算小于這個數(shù)字中所有符合條件的數(shù)字并統(tǒng)計數(shù)量。
n=int(input("請輸入數(shù)字:"))#input函數(shù)返回的結(jié)果類型為str
num=1
sum=0
while num <= n:
if num % 7==0 or str(num).find("7")!=-1:
print(str(num) + " pass")
sum+=1
else:
pass
num+=1
print("sum =",sum)
print("#"*20)
'''
輸入數(shù)字30,結(jié)果為:
請輸入數(shù)字:30
7 pass
14 pass
17 pass
21 pass
27 pass
28 pass
sum = 6
####################
'''實例三、結(jié)合for語句進(jìn)行實踐
瑕疵產(chǎn)品篩選
有一批產(chǎn)品已歸類,產(chǎn)品列表中編號100-109,分為優(yōu)、良和劣三個等級,順序為:優(yōu)上、良上、良中、劣上、劣中、優(yōu)中、優(yōu)下、劣下、良中、劣下,請篩選出劣品的產(chǎn)品編號。
#定義字典
Products={100:"優(yōu)上",101:"良上",102:"良中",103:"劣上",104:"劣中",105:"優(yōu)中",106:"優(yōu)下",107:"劣下",108:"良中",109:"劣下"}
values=Products.values()#取出所有值
full_list=[]#創(chuàng)建空列表
#取出所有符合條件的值,添加到列表中,并去重
for value in list(values):
if value.find("劣")!=-1:
full_list.append(value)
set_list=set(full_list)
#找出所有符合條件的產(chǎn)品及編號
for x in range(100,110):
for y in set_list:
if Products.get(x)==y:
print("產(chǎn)品%s為劣品,劣品編號為%s"%(y,x))
'''
輸出內(nèi)容為:
產(chǎn)品劣上為劣品,劣品編號為103
產(chǎn)品劣中為劣品,劣品編號為104
產(chǎn)品劣下為劣品,劣品編號為107
產(chǎn)品劣下為劣品,劣品編號為109
'''到此這篇關(guān)于Python中find()的用法小結(jié)的文章就介紹到這了,更多相關(guān)Python find()用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”
這篇文章主要介紹了使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”,筆者用 Python 爬取淘寶某商品的全過程,并對商品數(shù)據(jù)進(jìn)行了挖掘與分析,最終得出結(jié)論。需要的朋友可以參考下2018-03-03
Python操作Excel數(shù)據(jù)的封裝函數(shù)分享
對比其它編程語言,我們都知道Python最大的優(yōu)勢是代碼簡單,有豐富的第三方開源庫供開發(fā)者使用。而對于數(shù)據(jù)的讀取和存儲,對于普通人來講,除了數(shù)據(jù)庫之外,最常見的就是微軟的Excel。本文為大家準(zhǔn)備了Python操作Excel數(shù)據(jù)的封裝函數(shù),希望對大家有所幫助2022-11-11
在Tensorflow中實現(xiàn)梯度下降法更新參數(shù)值
今天小編就為大家分享一篇在Tensorflow中實現(xiàn)梯度下降法更新參數(shù)值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
conda虛擬環(huán)境創(chuàng)建和python庫在指定conda虛擬環(huán)境中的安裝全過程
本文介紹了如何在conda中創(chuàng)建和激活虛擬環(huán)境,如何在指定的虛擬環(huán)境中安裝Python庫,以及如何查找已安裝的庫和虛擬環(huán)境2026-03-03
python安裝完成后可以進(jìn)行的后續(xù)步驟和注意事項小結(jié)
本文詳細(xì)介紹了安裝Python3后的后續(xù)步驟,包括驗證安裝、配置環(huán)境、安裝包、創(chuàng)建和運行腳本,以及使用虛擬環(huán)境,還強調(diào)了注意事項,如系統(tǒng)更新、包管理與安全,感興趣的朋友一起看看吧2025-01-01
Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡單實現(xiàn)注冊登錄
這篇文章主要介紹了Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡單實現(xiàn)注冊登錄。下面文章著情介紹,需要的小伙伴可以參考一下2022-01-01
Python多線程編程threading模塊使用最佳實踐及常見問題解析
這篇文章主要為大家介紹了Python多線程編程threading模塊使用最佳實踐及常見問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

