在我們學(xué)習(xí)使用Python的過程中,經(jīng)常要使用到字符串去處理很多問題,尤其是在處理一些算法題的格式轉(zhuǎn)換的時(shí)候,字符串的操作方法有很多,接下來的幾節(jié)就來仔細(xì)介紹一下字符串的使用方法。
1. 原始字符串
在前面的字符串學(xué)習(xí)中簡(jiǎn)單的提到過字符串的轉(zhuǎn)義符,我們經(jīng)常會(huì)在代碼中穿插一些轉(zhuǎn)義符去實(shí)現(xiàn)一些代碼的換行回車等,我們?cè)跀?shù)據(jù)分析的時(shí)候經(jīng)常要用到原始字符串方法,在這里我們介紹一下原始字符串。
我們看下面幾行代碼:
>>> print('www.sztianhecheng.cn\n','學(xué)習(xí)樂園') www.sztianhecheng.cn 學(xué)習(xí)樂園 >>> print(r'www.sztianhecheng.cn\n','學(xué)習(xí)樂園') www.sztianhecheng.cn\n 學(xué)習(xí)樂園
第一行代碼中的‘\n’在輸出的時(shí)候被實(shí)現(xiàn),因此實(shí)現(xiàn)了換行操作。
第二行代碼輸出的字符串前有‘r’,因此在輸出的時(shí)候只會(huì)輸出原始字符串,無論字符串中包含什么轉(zhuǎn)義符,都不會(huì)被實(shí)現(xiàn)。
2. 訪問字符串
我們?cè)趯W(xué)習(xí)的過程中會(huì)遇到訪問字符串中每個(gè)字符的問題,因此我們需要使用循環(huán)來訪問字符串中的每個(gè)字符,我們通常使用for循環(huán)和索引來訪問。
使用for循環(huán)來訪問字符串的格式為:
for i in my_str
我們來看個(gè)例子:
>>> my_str = 'www.sztianhecheng.cn' >>> for i in my_str: ... print(i,end=' ') ... w w w . d o t c p p . c o m
我們通過循環(huán)的方式訪問了字符串中的每一個(gè)元素。
字符串同樣采用了索引的方式,因此我們?cè)谠L問字符串的字符的時(shí)候同樣可以采用索引的方式來訪問。
看下面代碼:
>>> my_str = 'www.sztianhecheng.cn' >>> for i in range(len(my_str)): ... print(my_str[i],end=' ') ... w w w . d o t c p p . c o m
我們?cè)谇懊娼榻B過range(len())這個(gè)結(jié)構(gòu),在這里再次解釋一下,range()是一個(gè)對(duì)象,而len()是求長度,len(my_str)求出了字符串的長度,然后range(len(my_str))的對(duì)象就是0到字符串的最大長度減1。
i為我們每次獲取的值,從0依次取到字符串長度的最大值減1,然后通過索引值輸出my_str[i],從而獲取到了每個(gè)元素。
我們可以隨意索取幾個(gè)元素:
>>> my_str 'www.sztianhecheng.cn' >>> my_str[5]#索引值為5的字符 'o' >>> my_str[0]#索引值為0的字符,也就是第一個(gè)字符 'w' >>> my_str[len(my_str)-1]#索引值為最后一位的字符 'm' >>> my_str[-1]#這種方式也是訪問最后一個(gè)字符 'm'
在使用字符串的時(shí)候合理的使用len()函數(shù)能夠優(yōu)化我們的代碼。
3. 字符串連接
字符串自帶連接方法,在連接的時(shí)候我們可以使用‘+’直接連接或追加一個(gè)字符串到另一個(gè)字符串的末尾。
看下面的例子:
>>> my_str 'www.sztianhecheng.cn' >>> his_str = '人生苦短,我用Python' >>> my_str + his_str 'www.sztianhecheng.cn人生苦短,我用Python'
通過‘+’可以直接進(jìn)行字符串的連接,連接之后生成的是一個(gè)新的字符串,原字符串并沒有發(fā)生改變。
4. 字符串切片
我們?cè)谇懊媪斜淼氖褂眠^程中多次使用到切片,字符串同樣可以使用切片表達(dá)式來獲取字符串中的部分字符,同時(shí)我們可以通過切片的方式直接進(jìn)行字符串的逆置。
看下面的例子:
>>> my_str 'www.sztianhecheng.cn' >>> my_str[0:2]#通過切片訪問0-1 'ww' >>> my_str[3:6]#3-5 '.do' >>> my_str[7:10]#7-9 'cpp' >>> my_str[::2]#步長為2的訪問整個(gè)字符串 'wwdtp.o' >>> my_str[::-1]#逆置字符串 'moc.ppctod.www'
下一節(jié)學(xué)習(xí)幾種字符串中常用的方法。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程