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將三維數(shù)組展開成二維數(shù)組的實(shí)現(xiàn)
今天小編就為大家分享一篇python將三維數(shù)組展開成二維數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python利用三層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫數(shù)字分類詳解
這篇文章主要介紹了如何設(shè)計(jì)一個(gè)三層神經(jīng)網(wǎng)絡(luò)模型來實(shí)現(xiàn)手寫數(shù)字分類。本文給大家介紹的非常詳細(xì),感興趣的小伙伴快來跟小編一起學(xué)習(xí)一下2021-11-11Python3.9環(huán)境搭建RobotFramework的詳細(xì)過程
Robot Framework是一個(gè)基于Python的,可擴(kuò)展的關(guān)鍵字驅(qū)動(dòng)的測試自動(dòng)化框架,用于端到端驗(yàn)收測試和驗(yàn)收測試驅(qū)動(dòng)開發(fā)(ATDD),這篇文章主要介紹了Python3.9環(huán)境搭建RobotFramework的詳細(xì)過程,需要的朋友可以參考下2023-01-01python生成不重復(fù)隨機(jī)數(shù)和對(duì)list亂序的解決方法
下面小編就為大家分享一篇python生成不重復(fù)隨機(jī)數(shù)和對(duì)list亂序的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python入門教程(三十九)Python的NumPy安裝與入門
這篇文章主要介紹了Python入門教程(三十九)Python的NumPy安裝與入門,NumPy 是一個(gè)Python包,它是一個(gè)由多維數(shù)組對(duì)象和用于處理數(shù)組的例程集合組成的庫,,需要的朋友可以參考下2023-05-05