Python字串中查詢子串小技巧

2022-10-04 23:15:34 字數 1354 閱讀 1321

慚愧啊,今天寫了個查詢子串的python程式被bs了…

如果讓你寫乙個程式設計客棧程式檢查字串s2中是不是包含有s1。也許你會很直觀的寫下下面的**:

複製** **如下:

#d程式設計客棧etermine whether s1 is a substring of s2

def issubstring1(s1,s2):

tag = false

len1 = len(s1)

len2 = len(s2)

for i in range(0,len2):

if s2[i] == s1[0]:

for j in range(0,len1):

if s2[i]==s1[j]:

tag = true

return tag

可是這是python,我們可以利用字串自帶的find()方法,於是可以這樣:

複製** **如下:

def issubstring2(s1,s2):

tag = false

if s2.find(s1) != -1:

tag = true

return tag

悲情的事就在於此,原來python中的關鍵字"in」不僅可以用於列表、元祖等資料型別,還可以用於字串。所www.cppcns.com以,這裡只需要直接一行**搞定:

複製** **如下:

def issubstring3(s1,s2):

return s1 in s2

後知後覺了,慚愧;-)

類似的,假設要在字串中,查詢多個子串是否存在,並列印出這些串和首次出現的位置:

複製** **如ayaxlhcvrc下:

def findsubstrings(substrings,deststring):

res =  map(lambda x:str([deststring.index(x),x]),filter(lambda x:x in ayaxlhcvrcdeststring,substrings))

if res:

return ', '.join(list(res))

;-)  very cool~

update: 如果你不習慣最後面這種看起來很複雜的語法也沒關係,可以使用列表解析,更加簡潔:

複製** **如下:

def findsubstrings(substrings,deststring):

return ', '.join([str([deststring.index(x),x]) for x in substrings if x in deststring])

本文標題: python字串中查詢子串小技巧

本文位址:

字串 查詢子串

主要的思路就是,不斷的從母串 str1 中取出和子串長度相等的臨時子串 temp str,與子串 str2 進行比較。沒有找到子串,返回 1 成功找到子串,返回子串首字母在母串中的位置,該位置從 0 開始。include include char temp str 30 臨時子串 void read...

查詢 子字串查詢

子字串查詢 子字串查詢的常見方法 暴力破解 sunday和kmp。1 暴力查詢 暴力查詢就是用兩個指標i,j分別指向字串和子字串,如果指標指向的字元相等則兩指標右移 否則,指向字串的指標i回到本次匹配的下乙個位置,而指向匹配字串的指標j回到匹配字串的開頭。public int search stri...

Python 的字串類子串查詢函式

python 的字串類有個很好用的函式,可很方便的用於與查詢python字串型別物件子串相關的操作,具體的api如下 find s.find sub start end int return the lowest index in s where substring sub is found,suc...