在python中,字串是乙個單個字元的字串序列。對於python我們可以通過下標索引來獲取序列中的各個元素。
如:字串:『abcdefgabc』
對於序列而言,只要下標的絕對值小於整個序列的長度,就是合法的
例如:
>>> s='abcdefgabc'
>>> s[0]
'a'>>> s[-1]
'c'>>>
個人理解,當傳入下標小於0是,python直譯器會使用序列長度+下標來替換當前的下標值,在上述例子中,-1將會裝換為10+(-1),也就是說實際索引值為9,剛好對應於序列的最後乙個元素。下標的正負只是代表索引的方向(從前往後或者從後往前)
對字串序列進行分片處理:
>>> print(s[2:8])
cdefga
>>> print(s[-8:-2])
cdefga
>>> print(s[-10:-1])
abcdefgab
使用分片處理時需要注意一點,分片處理會產生新的字串序列。使用分片處理時,右邊邊界的元素是取不到的,也就是說如果你決定使用負索引來作為分片的左右邊界,你無法獲取原生字串的所有內容,會丟失最後乙個元素。
如果分片時未指定右邊界或者左邊界的索引,分片的結果會包含最後乙個元素或乙個元素:
>>> print(s[-10:])
abcdefgabc
>>> print(s[:10])
abcdefgabc
>>> print(s[:])
abcdefgabc
>>>
查詢字串序列中特定元素的索引:
>>> s.find('g')
6>>> s.find('c')
2>>>
由於本次測試的字串中只有乙個『g』元素,所以可以拿到我們想要的索引值,如果查詢的序列中有多個重複的元素,在對此元素進行索引查詢時,一旦查詢到索引值就會返回,換句話說只會獲取元素第一次出現在序列中的索引。
替換字串中的元素:
>>> s.replace('c','sss')
'absssdefgabsss'
>>> s.replace('c','sss',1)
'absssdefgabc'
>>>
replace方法傳入的第乙個引數為待替換的字串,第二個引數為新的字串,第三個引數預設為none,在不指定的情況下,函式將會替換序列中所有符合條件的字串!
對乙個字串進行重複;
>>> print(s*3)
abcdefgabcabcdefgabcabcdefgabc
>>>
關於python中字串序列的簡單操作就說這麼多,有興趣的朋友可以關注我一下,有什麼問題大家一起討論!! LeetCode(一)關於GrayCode的實現
在leetcode上面有一道題,是關於gray code的實現的。graycode是這樣一種編碼 1 位gray code 0 12 位gray code 先新增乙個映象,如下 011 0然後,在原來的編碼前面新增 0 在映象碼前面新增 1 如下 00 0111 10而從2位變化到3位的gray c...
Linux基礎一 關於bash命令
1 支援命令歷史 命令補全 路徑補全 2 支援管道 重定向 3 支援命令別名 4 支援命令列編輯 5 支援命令列展開 6 支援檔名通配 7 支援變數 8 支援程式設計 1 反引號,鍵盤左上角esc下面的鍵,用於命令替換 root ymm xiaokeai echo pwd root2 雙引號,弱引用...
OpenCV筆記之一 關於Miniconda
2 配置miniconda conda update all3 建立conda虛擬環境 a.建立環境並自行命名環境名 conda create n venv or your envname python 3.8 or other edition you want b.啟用 進入虛擬環境 conda ...