中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

發布時間:2023-03-21 14:49:34 來源:億速云 閱讀:152 作者:iii 欄目:開發技術

這篇文章主要介紹了Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決文章都會有所收獲,下面我們一起來看看吧。

    1.字符串的字符轉換

    1.1.字符轉換的概念

    在前面說的的字符串替換,是將字符串中的一個子串替換成了新的子串,如果我們想對字符串中的某些字符進行轉換,也就是對字符串中的單個字符進行替換,可以調用方法maketrans和translate來實現。

    首先調用maketrans方法創建一個轉換表,在轉換表中聲明要將那些字符轉換成什么字符,然后將創建的轉換表作為參數傳給translate方法,實現字符的轉換。

    maketrans方法創建轉換表的語法:

    str.maketrans('轉換的字符', '轉換后的字符','刪除的字符')

    maketrans方法可以傳入三個參數:

    • 第一個參數用于指定被轉換的字符,如果指定了多個字符,那么轉換后的字符也需要指定多個,且數量都要相同,被轉換的第一個字符會轉換成第二個參數中的第一個字符,案例中會說明。

    • 第二個參數用于指定轉換后的字符。

    • 第三個參數用于指定刪除那些字符。

    定義好一個轉換表之后,使用print可以打印這個轉換表的內容,此時返回的是一個字典,字典中的每個key:value都是字符對應的ordinal value值。

    translate方法將轉換表當做參數傳入,再被定義的字符串調用,最終實現字符的轉換。

    1.2.字符轉換的應用案例

    1)轉換表的創建

    定義轉換表時,如果指定了多個被轉換的字符,那么轉換后的字符數量要與被轉換的字符數量相同,此時第一個參數和第二個參數會交叉轉換,代碼如下。

    contable = str.maketrans('agx', '789')
    print(contable)
    
    '''
    代碼解釋:
        str.maketrans('agx', '789')定義了一個轉換表,其中字符a轉換成字符7,字符g轉換成字符8,字符x轉換成字符9
        當使用print函數打印定義的轉換表時,返回的是一個字典,key是被轉換的字符,value是轉換后的字符,并且返回的是字符的ordinal value值
        返回結果:{97: 55, 103: 56, 120: 57}
            {97是字符a: 55是字符7, 103是字符g: 56是字符8, 120是字符x: 57是字符9}
    '''

    可以使用print函數打印轉換表,返回結果是一個字典,在字典中的值是對應字符的ordinal value值,在字典中可以明確的看到什么字符會被轉換成什么字符,如下圖,97是字符a,55是字符7,97對應的字符會轉換成55對應的字符。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    除了直接以字符串的形式聲明被轉換字符和轉換后字符的原始值外,還可以使用字典的方法聲明轉換與被轉換的字符,因為轉換表返回的結果就是一個字典,但是用的最普遍的方法還是直接在轉換表中聲明被轉換的字符。

    #使用字典的形式,在字典中聲明轉換的字符、被轉換字符的原始值
    contable = str.maketrans({'a': '7', 'g': '8', 'x': '9'})
    print(contable)
    '''
    	此時使用print打印轉換表時,就會發現轉換后的字符會以原始值的形式記錄在字典中,被轉換的字符還是以ordinal value值表示
    '''
    #輸出結果:{97: '7', 103: '8', 120: '9'}
    
    #還是使用字典的行駛,在字典中聲明被轉換字符、轉換字符的ordinal value值
    contable = str.maketrans({97: 55, 103: 56, 120: 57})
    print(contable)
    '''
    	這種方法需要實現使用ord函數獲取被轉換字符、轉換字符的ordinal value值,然后在字典中直接聲明字符的ordinal value值
    '''
    #輸出結果:{97: 55, 103: 56, 120: 57}

    2)字符的轉換

    #首先定義一個轉換表,這個轉換表可以被任意字符串調用使用
    contable = str.maketrans('agx', '789')
    
    #定義一個字符串
    mystr = 'jiangxluplader'
    
    #使用translate方法將轉換表以參數的形式傳入,然后由字符串調用這個方法實現字符的轉換
    print(mystr.translate(contable))
    
    #輸出結果:ji7n89lupl7der

    發現字符串中所有的a字符都被轉換成了7,所有的g字符都被轉換成了8,所有的x字符都被轉換成了9。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    3)maketrans方法定義轉換表時 還可以指定要刪除的字符,例如刪除字符u、p

    contable = str.maketrans('agx', '789', 'up')
    mystr = 'jiangxluplader'
    print(mystr.translate(contable))
    
    '''
    	maketrans方法創建轉換表時,第三個參數是指定刪除的字符
    '''
    
    #輸出結果:ji7n89ll7der

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    4)maketrans方法定義轉換表中,還可以不對字符進行轉換,只對某些字符進行刪除,例如只刪除字符u、p

    contable = str.maketrans('', '', 'up')
    mystr = 'jiangxluplader'
    print(mystr.translate(contable))
    
    #輸出結果:jiangxllader

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    當指定第三個參數時,會將指定的字符刪除,其實就是將指定的字符設置成了None對象。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    2.字符串的劈分

    2.1.字符串劈分的概念

    所謂的字符串劈分指的是,根據指定的分隔符,將字符串一分為N個,例如字符串“aaa bbb”,默認的分隔符是空格,根據分隔符可以將這個字符串分為“aaa”,“bbb”,這就是字符串的劈分。字符串的劈分共有兩種方法:

    1)調用方法split或者rsplit劈分字符串

    • split方法是從字符串的左側開始劈分字符串,從前往后開始劈分。

    • rsplit方法是從字符串的右側開始劈分字符串,從后往前開始劈分。

    split和rsplit方法會根據分隔符對字符串中所有出現分隔符的地方進行劈分。

    默認的分隔符是空格字符串,這兩個方法如果不指定最大的劈分次數,輸出的內容沒有任何區別,并且這兩個方法的返回值都是一個列表。

    當字符串中沒有指定的分隔符時,這兩個方法都會返回字符串本身,但是也會將字符串本身放在列表中。

    2)調用方法partition或者rpartition劈分字符串

    partition和rpartition這兩個方法在調用的時候必須指定分隔符,然后對字符串進行劈分,這兩個方法對字符串劈分后會返回一個元組。

    • partition方法是左劈分,從左往右找到分隔符第一次出現的位置,然后開始劈分字符串,始終劈分成三個元素,第一個元素是分隔符左側的部分,第二個元素是分隔符,第三個元素是分隔符后面的部分。

    • rpartition方法是右劈分,從右往左找到分隔符第一次出現的位置,或者從左往右找到分隔符最后一次出現的位置,然后開始劈分字符串,始終劈分成三個元素,第一個元素是分隔符左側的部分,第二個元素是分隔符,第三個元素是分隔符后面的部分。

    partition方法和rpartition只會將字符串中第一次出現分隔符的位置,進行劈分,一分為三,這就是與split方法的最大區別

    partition方法和rpartition兩個方法只是開始劈分的位置處不同,然后將字符串劈分為三個元素:

    • 分隔符前面的部分

    • 分隔符

    • 分隔符后面的部分

    如果字符串中不存在指定的分隔符,兩個方法都會返回字符串本身,partition方法劈分的三個元素順序依次為:字符串本身、空字符串、空字符串,rpartition方法劈分的三個元素依次為:空字符串、空字符串、字符串本身。

    2.2.調用方法split或者rsplit劈分字符串

    1)基本的劈分案例

    #原始字符串
    mystr = "DevOps Jenkins Kubernetes"
    
    #左劈分
    print(mystr.split())
    
    #右劈分
    print(mystr.rsplit())
    
    '''
    	左劈分是從DevOps第一個空格字符串處開始劈分,右劈分是從Kubernetes最后一個空格字符串處開始劈分
    	默認的劈分字符串是空格字符串,只要遇到空格字符串,就將空格字符串左側的字符串劈分出來。
    '''

    可以看到split和rsplit兩個方法對字符串劈分后,并沒有明顯的區別。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    2)通過參數sep指定分隔符劈分字符串

    在split和rsplit方法中都可以使用sep參數指定分隔符,從而根據指定的分隔符去劈分字符串。

    mystr = "DevOps|Jenkins|Kubernetes"
    print(mystr.split(sep='|'))
    print(mystr.rsplit(sep='|'))
    
    '''
    	split(sep='|')、rsplit(sep='|')指定分隔符為“|”
    '''

    可以看到split和rsplit兩個方法對字符串劈分后,并沒有明顯的區別。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    當指定的分隔符字符串不存在時,則會返回字符串本身,但是也會將字符串本身放在列表中。

    mystr = "DevOps Jenkins Kubernetes"
    print(mystr.split(sep='|'))
    print(mystr.rsplit(sep='|'))

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    3)通過參數maxsplit指定劈分字符串的最大劈分次數

    在split和rsplit方法中都可以使用maxsplit參數指定劈分字符串的最大劈分次數,什么意思呢?原本一個字符串可以被劈分6次,但是我們只需要劈分2次就行,就可以使用maxsplit參數指定指定劈分字符串的最大劈分次數。

    當指定了最大的劈分次數時,當超過最大的劈分次數后,剩余的子串會單獨作為一部分輸出,此時split和rsplit兩個劈分方法就會有明顯的區別。

    #定義原始字符串
    mystr = "DevOps|Jenkins|Kubernetes|Python|Gitlab"
    
    '''
    	使用split方法是從左往右開始劈分,從第一個子串位置處開始劈分,分隔符為"|",劈分次數為2,本身這個字符串可以被劈分5次,我們只劈分2次,那么DevOps、Jenkins會被劈分出來作為列表的單獨元素,而剩余的子串Kubernetes|Python|Gitlab會被作為一部分放在列表的一個元素內
    '''
    print(mystr.split(sep='|', maxsplit=2))
    #輸出結果:['DevOps', 'Jenkins', 'Kubernetes|Python|Gitlab']
    
    '''
    	使用rsplit方法是從右往左開始劈分,從最后一個子串處開始劈分,分隔符為"|",劈分次數為2,本身這個字符串可以被劈分5次,我們只劈分2次,那么Gitlab、Python這兩個字符串會被劈分出來作為列表的單獨元素,而剩余的字符DevOps|Jenkins|Kubernetes會被作為一部分,放在列表的一個元素內
    '''
    print(mystr.rsplit(sep='|', maxsplit=2))
    #輸出結果:['DevOps|Jenkins|Kubernetes', 'Python', 'Gitlab']

    當在劈分方法內指定了最大的劈分次數的參數時,split左劈分和rsplit右劈分就會有明顯的區別,split方法是從前往后根據分隔符進行劈分,rsplit方法是從后往前根據分隔符進行劈分。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    2.3.調用方法partition或者rpartition劈分字符串

    partition方法是左劈分,從左往右找到分隔符第一次出現的位置,然后開始劈分字符串,始終劈分成三個元素,第一個元素是分隔符左側的部分,第二個元素是分隔符,第三個元素是分隔符后面的部分。

    rpartition方法是右劈分,從右往左找到分隔符第一次出現的位置,或者從左往右找到分隔符最后一次出現的位置,然后開始劈分字符串,始終劈分成三個元素,第一個元素是分隔符左側的部分,第二個元素是分隔符,第三個元素是分隔符后面的部分。

    這兩個方法,只會根據一個分隔符進行劈分字符串,且始終劈分成三個元素,partition方法的分隔符取決于在字符串中第一次出現的分隔符,rpartition方法的分隔符取決于字符串中最后一次出現的分隔符。

    1)調用方法partition劈分字符串

    mystr = "DevOps|Jenkins|Kubernetes|Python|Gitlab"
    print(mystr.partition('|'))
    
    '''
    	partition從左往右找到第一次出現分隔字符串的位置,從這里開始劈分字符串,分隔符左側的部分(DevOps)為第一個元素,分隔符(|)為第二個元素,分隔符右側的部分(Jenkins|Kubernetes|Python|Gitlab)為第三個元素。
    '''
    
    #輸出結果:('DevOps', '|', 'Jenkins|Kubernetes|Python|Gitlab')

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    2)調用方法rpartition劈分字符串

    mystr = "DevOps|Jenkins|Kubernetes|Python|Gitlab"
    print(mystr.rpartition('|'))
    
    '''
    	rpartition從左往右找到最后一次出現分隔字符串的位置,分隔符左側的部分(DevOps)為第一個元素,分隔符(|)為第二個元素,分隔符右側的部分(Jenkins|Kubernetes|Python|Gitlab)為第三個元素。
    '''
    
    #輸出結果:('DevOps|Jenkins|Kubernetes|Python', '|', 'Gitlab')

    確實和理論說明的一樣,從左往右找到最后一次分隔符出現的位置,分隔符左側的部分為元組中的第一個元素,分隔符為第二個元素,分隔符右側的部分為元組中的第三個元素。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    3)當字符串中只有一個分隔符字符串且分隔符后沒有任何字符時

    當字符串中只有一個分隔符字符串時,且分隔符后面沒有任何字符串,此時無論是partition方法還是rpartition方法,劈分的字符串第三個元素一定為空。

    mystr = "DevOps|"
    print(mystr.partition('|'))
    print(mystr.rpartition('|'))

    第三個元素取的都是分隔符后面的部分,分隔符后面的部分什么也沒有,因此就會輸出空字符串。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    4)當字符串中不存在指定的分隔符字符串(partition方法)

    如果字符串中不存在指定的分隔符,partition方法劈分的三個元素順序依次為:字符串本身、空字符串、空字符串。

    mystr = "DevOps|Jenkins|Kubernetes|Python|Gitlab"
    print(mystr.partition('*'))
    
    #輸出結果:('DevOps|Jenkins|Kubernetes|Python|Gitlab', '', '')

    第一個元素是字符串的本身,第二個元素是空字符串,第三個元素也是空字符串。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    4)當字符串中不存在指定的分隔符字符串(rpartition方法)

    如果字符串中不存在指定的分隔符,rpartition方法劈分的三個元素順序依次為:空字符串、空字符串、字符串本身。

    mystr = "DevOps|Jenkins|Kubernetes|Python|Gitlab"
    print(mystr.rpartition('*'))

    第一個元素是空字符串,第二個元素是空字符串,第三個元素是字符串的本身。

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    3.字符串的合并

    可以調用方法join將多個字符串合并成一個字符串。語法格式如下:

    '字符串的間隔符'.join(列表|數組)
    
    字符串的間隔符可以指定,也可以不指定,指定后,每個元素字符串在合并時都會在后面添加一個分隔符。

    1)使用join方法將列表中多個字符串進行合并

    使用join方法可以將列表中的多個元素,元素也都是字符串,將這些字符串進行合并。

    print(''.join(["Python", "Go", "K8S"]))
    
    #輸出結果:PythonGoK8S

    使用join方法將列表中的每個元素合并時添加一個分隔符“|”

    print('|'.join(["Python", "Go", "K8S"]))
    
    #輸出結果:Python|Go|K8S

    2)使用join方法將元組中的多個字符串進行合并

    join方法也可以將元組中的元素合并。

    print('|'.join(("Python", "Go", "K8S")))
    
    #輸出結果:Python|Go|K8S

    3)可以把字符串看成是字符的列表,然后使用join方法將這些字符合并成字符串

    可以把字符串看成是字符的列表,然后使用join將這些字符加上分隔符合并成新的字符串。

    print('|'.join("Python"))
    
    #輸出結果:P|y|t|h|o|n

    Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決

    關于“Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Python字符串的字符轉換、字符串劈分、字符串合并問題怎么解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    亚东县| 循化| 微山县| 黄陵县| 保亭| 吉隆县| 城固县| 丹寨县| 平昌县| 安阳市| 迁西县| 荔波县| 苏尼特右旗| 宿迁市| 临洮县| 杨浦区| 彰化县| 泰来县| 得荣县| 双柏县| 龙陵县| 斗六市| 阿图什市| 白山市| 通化县| 四子王旗| 木兰县| 石楼县| 阿合奇县| 兴海县| 鲁甸县| 和平县| 延寿县| 霍林郭勒市| 玛多县| 绵阳市| 镇江市| 古浪县| 灵宝市| 曲周县| 浦北县|