在我們學習使用Python的過程中,常常要使用到字串去處理很多問題,尤其是在處理一些演算法題的格式轉換的時候,字串的操作方法有很多,接下來的幾節就來仔細介紹一下字串的使用方法。
在前面的字串學習中簡單的提到過字串的轉義符,我們常常會在程式碼中穿插一些轉義符去實作一些程式碼的換行回車等,我們在資料分析的時候常常要用到原始字串方法,在這裡我們介紹一下原始字串。
我們來看下面幾行程式碼:
>>>print('www.dotcpp.comn','學習樂園')www.dotcpp.com學習樂園>>>print(r'www.dotcpp.comn','學習樂園')www. dotcpp.comn學習樂園
第一行程式碼中的'n'在輸出的時候被實現,因此實現了換行操作。
第二行程式碼輸出的字串前面有'r',因此在輸出的時候只會輸出原始字串,無論字串包含什麼轉義符,都不會被實作。
我們在學習的過程中會遇到存取字串中每個字符的問題,因此我們需要使用循環來存取字串中的每個字符,我們通常使用for循環和索引來存取。
使用for迴圈來存取字串的格式為:
foriinmy_str
我們來看個例子:
>>>my_str='www.dotcpp.com'>>>foriinmy_str:...print(i,end='')...www.dotcpp.com
我們透過循環的方式存取了字串中的每一個元素。
字串同樣採用了索引的方式,因此我們在存取字串的字元的時候同樣可以採用索引的方式來存取。
看下面程式碼:
>>>my_str='www.dotcpp.com'>>>foriinrange(len(my_str)):...print(my_str[i],end='')...www.dotcpp.com
我們在前面介紹過range(len())這個結構,在這裡再解釋一下,range()是一個對象,而len()是求長度,len(my_str)求出了字串的長度,然後range( len(my_str))的物件就是0到字串的最大長度減1。
i為我們每次取得的值,從0依序取到字串長度的最大值減1,然後透過索引值輸出my_str[i],從而獲取到了每個元素。
我們可以隨意索取幾個元素:
>>>my_str'www.dotcpp.com'>>>my_str[5]#索引值為5的字符'o'>>>my_str[0]#索引值為0的字符,也就是第一個字符' w'>>>my_str[len(my_str)-1]#索引值為最後一位的字元'm'>>>my_str[-1]#這種方式也是存取最後一個字元'm'
在使用字串的時候合理的使用len()函數能夠優化我們的程式碼。
字串自帶連接方法,在連接的時候我們可以使用' + '直接連接或追加一個字串到另一個字串的末尾。
看下面的例子:
>>>my_str'www.dotcpp.com'>>>his_str='人生苦短,我用Python'>>>my_str+his_str'www.dotcpp.com人生苦短,我用Python'
透過'+'可以直接進行字串的連接,連接之後產生的是一個新的字串,原始字串並沒有改變。
我們在前面列表的使用過程中多次使用到切片,字串同樣可以使用切片表達式來獲取字串中的部分字符,同時我們可以透過切片的方式直接進行字串的逆置。
看下面的例子:
>>>my_str'www.dotcpp.com'>>>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的存取整個字串'wwdtp.o'>>>my_str[::-1]#逆置字串'moc.ppctod.www'
下一節學習幾種字串中常用的方法。