index() 方法檢測字符串中是否包含子字符串 str ,如果指定 beg(開始) 和 end(結束) 范圍,則檢查是否包含在指定范圍內,該方法與 python find()方法一樣,只不過如果str不在 string中會報一個異常。影響后面程序執行
index()方法語法:str.index(str, beg=0, end=len(string))
- str -- 指定檢索的字符串
- beg -- 開始索引,默認為0。
- end -- 結束索引,默認為字符串的長度。
str1='python is on the way'] str2='on' #空格,等其他操作符對其索引位置也有影響 #在str1中檢測字符串中是否含有子字符串str2 str1.index(str2,beg=0,end=len(str1)) #如果包含子字符串 返回檢測到的索引值 print(str1.index(str2)) #從索引1開始檢測,檢測長度為3 print(str1.index(str2,1,3))
如果包含子字符串返回開始的索引值,否則拋出異常。
user_name = ['xiaolei','xiaoman','lixia'] pass_word = ['123','456','789']
username = input('username:').strip()
password = input('password:').strip()
if username in user_name and password == pass_word[user_name.index(username)]:
print(f"登錄成功,歡迎您:{username}")
else:
print("錯誤!")
若輸入:username == xiaolei
user_name.index(username) == 0
所以:password == pass_word[0] == 123
Python find()方法,不能用於列表list
str.find(str, beg=0, end=len(string))
- str -- 指定檢索的字符串
- beg -- 開始索引,默認為0。
- end -- 結束索引,默認為字符串的長度。
Python find() 方法檢測字符串中是否包含子字符串 str ,如果指定 beg(開始) 和 end(結束) 范圍,則檢查是否包含在指定范圍內,
如果包含子字符串返回開始的索引值,否則返回-1。不影響后面程序執行
str1='python is on the way' str2='on' str3='nice' print(str1.index(str2)) #不在字符串str1中 print(str1.find(str3)) #從索引1開始檢測,檢測長度為3 print(str1.find(str2,1,3))
運行結果: