Pythonfind用法
① python 字元串提取信息方法總結
在日常項目中,我們經常會使用python從字元串中提取我們想要的信息,以下是各種提取信息方法的總結。
格式: str[beg:end:step]
描述: 字元串[開始索引:結束索引:步長]切取字元串為開始索引到結束索引-1內的字元串步長不指定時步長為1
舉例:
print(str[::2]) //::這里表示整個字元串,每兩個位置提取一個
print(str[1:3]) //提取第2個到第3個
print(str[2::]) //截取2 - 末尾的字元
本小節介紹了,處理字元串經常用到的一些函數方法。
語法: str.find(str, beg=0, end=len(string))
描述: Python find() 方法檢測字元串中是否包含子字元串 str ,如果指定 beg(開始) 和 end(結束) 范圍,則檢查是否包含在指定范圍內,如果包含子字元串返回開始的索引值,否則返回-1。
語法: str.split(str="", num=string.count(str)).
描述: Python split() 通過指定分隔符對字元串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字元串.返回分割後的字元串列表,該方法可以講字元串轉化為列表處理。
另外的: str.splitlines([keepends])按照行(' ', ' ', ')分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
語法: str.partition(str)
描述: partition() 方法用來根據指定的分隔符將字元串進行分割。如果字元串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。
語法: str.replace(old, new, max)
描述: Python replace() 方法把字元串中的 old(舊字元串) 替換成 new(新字元串),如果指定第三個參數max,則替換不超過 max 次。
語法: str.strip([chars]);
描述: Python strip() 方法用於移除字元串頭尾指定的字元(默認為空格或換行符)或字元序列。:該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。
語法: str.join(sequence)
描述: Python join() 方法用於將序列中的元素以指定的字元連接生成一個新的字元串。
上述方法還有其變形,如str.rfind(),這代表從字元串右邊開始處理,正常是從左邊開始處理。下表是其它常用的python字元串自帶函數方法。
正則表達式是一個特殊的字元序列,它能幫助你方便的檢查一個字元串是否與某種模式匹配。本小節主要介紹Python中常用的正則表達式處理函數和正則表達式的書寫規則。
re 模塊使 Python 語言擁有全部的正則表達式功能。所以在python中使用正則表達式處理函數需要import re
語法: re.search(pattern, string, flags=0)
描述: re.search 掃描整個字元串並返回第一個成功的匹配。匹配成功re.search方法返回一個匹配的對象,否則返回None。
語法: re.sub(pattern, repl, string, count=0, flags=0)
描述: Python 的 re 模塊提供了re.sub用於替換字元串中的匹配項。
語法: pattern.findall(string, pos, endpos)
描述: 在字元串中找到正則表達式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。
模式字元串使用特殊的語法來表示一個正則表達式:
② python 里 find函數怎麼用
題主最好給出一個稍微具體點的應用場景,可能有更加優化的方法。 我自己構造一個簡單的例子如下: matlab: A = find(B>0) python: A = [i for i in range(len(B)) if B[i]>0] 另外注意,matlab里的數組索引從1開始,和python不同。
③ python find什麼意思
find 方法是字元串類型對象帶有的方法;
它可以從一個字元串中,找到另一個字元串;
如果找到了,則返回索引;
如果沒有找到,則返回 -1;
代碼:
str1 = "this is string example....wow!!!"
str2 = "exam"
print('
', str1.find(str2))
運行效果:
④ python中str.find和 in list的區別使用
在一個str中查找特定的字元串,使用string1.find(substring)的語法,這種查找時一種模糊查找;
但是在一個list中,如果判斷是否包含某個項目,是一個絕對的相等的比較,空格都需要匹配;
所以使用查找匹配時可以採用的方法是:
1.將list轉化為str之後模糊匹配:
比如 if str(list1).find(substring) != -1
2.將list中的所有的字元串都去掉特殊字元以及空格;
比如:
for item in list1:
item.replace(' ','')
再用if substring in list1:
⑤ 解釋python中.find(" ")函數的作用:
python中遇到不明白的地方,可以試試help
這里要查看find的作用,可以鍵入help(str.find),然後得到提示如下:
Helponmethod_descriptor:
find(...)
S.find(sub[,start[,end]])->int
,
suchthatsubiscontainedwithinS[start:end].Optional
.
Return-1onfailure.
解釋要點大致如下:
find()方法檢測字元串S中是否包含子字元串sub,如果指定start(開始) 和 end(結束)范圍,則檢查是否包含在指定范圍內,如果包含子字元串返回開始的索引值(如果包含多個字串,只返回最左邊出現的索引值),查找失敗返回-1。以本題為例:
s="abcd1234"
s.find("cd"),在字元串s中查找字串"cd"第一次出現時s中的索引值,因為索引從0開始,所以結果為2,注意s中出現多次cd的情況,例如:
s="abcd1234cd"
s.find("cd")的結果依然是2,找不到時返回-1,比如:
s="1234"
s.find("cd")的結果為-1