Python字符串拼接、截取及替換方法總結(jié)分析
本文實(shí)例講述了Python字符串拼接、截取及替換方法。分享給大家供大家參考,具體如下:
python字符串連接
python字符串連接有幾種方法,我開始用的第一個(gè)方法效率是最低的,后來看了書以后就用了后面的2種效率高的方法,跟大家分享一下。
先介紹下效率比較低的方法:
a = ['a','b','c','d'] content = '' for i in a: content = content + i print content
content的結(jié)果是:'abcd'
后來我看了書以后,發(fā)現(xiàn)書上說的是python連接字符串,特別是在循環(huán)連接字符串的時(shí)候,他每次連接一次,就要重新開辟空間,然后把字符串連接起來,再放入新的空間,再一次循環(huán),又要開辟新的空間,把字符串連接起來放入新的空間,如此反復(fù),內(nèi)存操作比較頻繁,每次都要計(jì)算內(nèi)存空間,然后開辟內(nèi)存空間,再釋放內(nèi)存空間,效率非常低,你也許操作比較少的數(shù)據(jù)的時(shí)候看不出來,感覺影響不大,但是你碰到操作數(shù)據(jù)量比較多的時(shí)候,這個(gè)方法就要退休了,還是看看下面2個(gè)比較先進(jìn)的方法把。
先進(jìn)方法1:
用字符串的join方法:
a = ['a','b','c','d'] content = '' content = ''.join(a) print content
content的結(jié)果:'abcd'
先進(jìn)方法2:
用字符串的替換占位符替換
a = ['a','b','c','d'] content = '' content = '%s%s%s%s' % tuple(a) print content
content的結(jié)果是:'abcd'
有興趣可以看看關(guān)于python字符串有關(guān)的 python 字符串替換 和 python 字符串截取
字符串截取
python的字符串是有序集合,我們可以通過索引來提取想要獲取的字符,可以把python的字符串也做為字符串的列表就更好理解。
python的字串列表有2種取值順序
1.是從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1
s = 'ilovepython'
s[0]的結(jié)果是i
2.是從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭
s = 'ilovepython'
s[-1]的結(jié)果是n
上面這個(gè)是取得一個(gè)字符,如果你的實(shí)際要取得一斷字符的話,可以用到python 字符串截取功能
比如:s = 'ilovepython'
s[1:5]的結(jié)果是love
當(dāng)使用以冒號(hào)分隔的字符串,python返回一個(gè)新的對(duì)象,結(jié)果包含了以這對(duì)偏移標(biāo)識(shí)的連續(xù)的內(nèi)容,左邊的開始是包含了下邊界,比如上面的結(jié)果包含了s[1]的值l,而取到的最大范圍不包括上邊界,就是s[5]的值p
字符串替換
python 字符串替換是python操作字符串的時(shí)候經(jīng)常會(huì)碰到的問題,這里簡單介紹下字符串替換方法。
python 字符串替換可以用2種方法實(shí)現(xiàn):
1.用字符串本身的replace方法
a.replace('word','python')
輸出的結(jié)果是hello python
2.用正則表達(dá)式來完成替換:
import re
strinfo = re.compile('word')
b = strinfo.sub('python',a)
print b
輸出的結(jié)果也是hello python
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解python 3.6 安裝json 模塊(simplejson)
這篇文章主要介紹了python 3.6 安裝json 模塊(simplejson),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解
這篇文章主要介紹了Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
使用Python開發(fā)游戲運(yùn)行腳本實(shí)現(xiàn)模擬點(diǎn)擊
這篇文章主要介紹了使用Python開發(fā)游戲運(yùn)行腳本實(shí)現(xiàn)模擬點(diǎn)擊,這樣我們要想實(shí)現(xiàn)手游腳本開發(fā)的第一步,就是下載Android模擬器,然后在對(duì)安卓模擬器進(jìn)行鼠標(biāo)和鍵盤的模擬,以此來實(shí)現(xiàn)自動(dòng)化游戲腳本,需要的朋友可以參考下2021-11-11
keras的ImageDataGenerator和flow()的用法說明
這篇文章主要介紹了keras的ImageDataGenerator和flow()的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計(jì)處理操作
這篇文章主要介紹了python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計(jì)處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
Python學(xué)習(xí)之函數(shù)的定義與使用詳解
函數(shù)是具有某種特定功能的代碼塊,可以重復(fù)使用(在前面數(shù)據(jù)類型相關(guān)章節(jié)。它使得我們的程序更加模塊化,不需要編寫大量重復(fù)的代碼。本文將詳細(xì)介紹Python中函數(shù)的定義與使用,感興趣的可以學(xué)習(xí)一下2022-03-03
python如何每天在指定時(shí)間段運(yùn)行程序及關(guān)閉程序
這篇文章主要介紹了python如何每天在指定時(shí)間段運(yùn)行程序及關(guān)閉程序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-04-04

