欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python字符串中查找子串小技巧

 更新時間:2015年04月10日 10:13:03   投稿:junjie  
這篇文章主要介紹了Python字符串中查找子串小技巧,,需要的朋友可以參考下

慚愧啊,今天寫了個查找子串的Python程序被BS了…

如果讓你寫一個程序檢查字符串s2中是不是包含有s1。也許你會很直觀的寫下下面的代碼:

復(fù)制代碼 代碼如下:

#determine 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()方法,于是可以這樣:

復(fù)制代碼 代碼如下:

def isSubstring2(s1,s2):
    tag = False
    if s2.find(s1) != -1:
        tag = True
    return tag

悲情的事就在于此,原來Python中的關(guān)鍵字"in”不僅可以用于列表、元祖等數(shù)據(jù)類型,還可以用于字符串。所以,這里只需要直接一行代碼搞定:
復(fù)制代碼 代碼如下:

def isSubstring3(s1,s2):
    return s1 in s2

后知后覺了,慚愧;-)

類似的,假設(shè)要在字符串中,查找多個子串是否存在,并打印出這些串和首次出現(xiàn)的位置:

復(fù)制代碼 代碼如下:

def findSubstrings(substrings,destString):
    res =  map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings))
    if res:
        return ', '.join(list(res))
 
;-)  very cool~

UPDATE: 如果你不習(xí)慣最后面這種看起來很復(fù)雜的語法也沒關(guān)系,可以使用列表解析,更加簡潔:
復(fù)制代碼 代碼如下:

def findSubstrings(substrings,destString):
    return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])

相關(guān)文章

  • 關(guān)于python xlwings模塊用法詳解

    關(guān)于python xlwings模塊用法詳解

    xlwings是一個用于在Excel和Python之間進(jìn)行交互的庫,它允許您使用Python操作Excel文件,包括讀取和寫入數(shù)據(jù),運行宏,設(shè)置格式等等,我們可以使用xlwings來處理Excel文件中的數(shù)據(jù),執(zhí)行各種操作,所以本文小編就給大家python xlwings模塊用法
    2023-09-09
  • Python中turtle作圖示例

    Python中turtle作圖示例

    這篇文章主要介紹了Python中turtle作圖示例,分享了幾則turtle作圖的小實例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python對指定字符串逆序的6種方法(小結(jié))

    python對指定字符串逆序的6種方法(小結(jié))

    這篇文章主要介紹了python對指定字符串逆序的6種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題

    解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題

    這篇文章主要介紹了解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • python實現(xiàn)從pdf文件中提取文本,并自動翻譯的方法

    python實現(xiàn)從pdf文件中提取文本,并自動翻譯的方法

    今天小編就為大家分享一篇python實現(xiàn)從pdf文件中提取文本,并自動翻譯的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解

    關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解

    今天小編就為大家分享一篇關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python實現(xiàn)圖片和視頻的相互轉(zhuǎn)換

    Python實現(xiàn)圖片和視頻的相互轉(zhuǎn)換

    有時候我們需要把很多的圖片合成視頻,或者說自己寫一個腳本去加快或者放慢視頻;也有時候需要把視頻裁剪成圖片,進(jìn)行后續(xù)操作。這篇文章就將為大家介紹如何通過Python實現(xiàn)圖片和視頻的相互轉(zhuǎn)換,需要的可以參考一下
    2021-12-12
  • conda虛擬環(huán)境使用pip下載包到當(dāng)前環(huán)境的兩種方法

    conda虛擬環(huán)境使用pip下載包到當(dāng)前環(huán)境的兩種方法

    conda管理包很方便,但并不是所有包都有最新的conda版本,所以仍需要使用conda中的pip來安裝包,下面這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境使用pip下載包到當(dāng)前環(huán)境的兩種方法,需要的朋友可以參考下
    2022-08-08
  • Python中的錯誤和異常處理簡單操作示例【try-except用法】

    Python中的錯誤和異常處理簡單操作示例【try-except用法】

    這篇文章主要介紹了Python中的錯誤和異常處理簡單操作,結(jié)合實例形式分析了Python中try except在錯誤與異常處理中的用法,需要的朋友可以參考下
    2017-07-07
  • 利用Python實現(xiàn)自動生成圖文并茂的數(shù)據(jù)分析

    利用Python實現(xiàn)自動生成圖文并茂的數(shù)據(jù)分析

    這篇文章主要介紹了利用Python實現(xiàn)自動生成圖文并茂的數(shù)據(jù)分析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08

最新評論