国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

Python rpartition()函數(shù)

2023-04-24 19:21:41
字體:
供稿:網(wǎng)友

Python rpartition()字符串處理函數(shù)的作用與partition()函數(shù)功能相似,只不過其是從右端開始匹配搜索串。

Python rpartition()函數(shù)以搜索字符串最后出現(xiàn)的位置為分割,將源字符串分為三部分,并以元組的形式返回分割后的結(jié)果,其中元組中的第一個字符串元素是搜索子串之前的內(nèi)容,第二個字符串元素是搜索子串本身,第三個字符串元素是搜索子串之后的內(nèi)容。

rpartition()語法格式

str.rpartition(sep)

str是要被搜索的字符串,該函數(shù)將在str中找到sep的位置,并以sep為分割,將str分割為三部分。

參數(shù)

sep是一個字符串類型的參數(shù),用于指定作為分割作用的字符串。

返回值

該函數(shù)返回一個三元組類型,元組中包含的三部分分別為:

sep之前的部分;

sep本身

sep之后的部分。

Python rpartition()函數(shù)

rpartition()函數(shù)使用舉例

1、sep位于str內(nèi)部

str1 = "我開始學習Python編程了。"
print(str1.rpartition("Python"))
print(str1.partition("Python"))

輸出結(jié)果:

('我開始學習', 'Python', '編程了。')
('我開始學習', 'Python', '編程了。')

從結(jié)果中可以看出,當str中僅包含一個匹配時,rpartition()函數(shù)的作用與partition()函數(shù)的輸出結(jié)果相同。

2、sep位于str的最前端

str2 = "Python是簡單易學的。"
print(str2.rpartition("Python"))
print(str2.partition("Python"))

輸出結(jié)果如下:

('', 'Python', '是簡單易學的。')
('', 'Python', '是簡單易學的。')

從上面結(jié)果可以看出,當sep位于str最前端時,rpartition()函數(shù)返回的元組中第一個元素是一個空字符串,因為sep之前沒有任何內(nèi)容,這與partition()函數(shù)的作用也是相同的。

3、sep位于str最右邊

str3 = "一起來學習Python"
print(str3.rpartition("Python"))
print(str3.partition("Python"))

輸出結(jié)果如下:

('一起來學習', 'Python', '')
('一起來學習', 'Python', '')

從輸出結(jié)果可以看出,當sep位于str最右端時,返回的元組最后一個元素為空字符串,這是因為sep右邊沒有任何內(nèi)容。這與partition()函數(shù)的作用完全相同。

4、str中包含多個sep

str4 = "我們在學習Python,Python是強大的。"
print(str4.rpartition("Python"))
print(str4.partition("Python"))

輸出結(jié)果如下:

('我們在學習Python,', 'Python', '是強大的。')
('我們在學習', 'Python', ',Python是強大的。')

從上面的輸出結(jié)果可以看出,rpartition()函數(shù)以最后一個"Python"為分界部分,將str4分為三部分,而partition()是以第一個"Python"為分界部分,將str4分為三部分,實際上,這也是rpartition()函數(shù)partition()函數(shù)的實質(zhì)區(qū)別。

5、str中不含sep

str5 = "我學習python快5年了。"
print(str5.rpartition("Java"))
print(str5.partition("Java"))

輸出結(jié)果:

('', '', '我學習python快5年了。')
('我學習python快5年了。', '', '')

從以上的輸出結(jié)果可以看出,當str中不包含sep時,rpartition()函數(shù)返回的元組的前兩個為空字符串,這很容易理解:當rpartition()從右端往前搜索時,找到str前端也沒發(fā)現(xiàn)sep,則整個str作為元組中的第3個元素,sep本身不存在則為空字符串,也沒有對應(yīng)的第一部分,則也為空字符串。而partition()函數(shù)返回的元組后兩個為空字符串。

6、sep不能為空字符串

str6 = "Python is good."
print(str6.rpartition(''))

輸出內(nèi)容如下:

Traceback (most recent call last):
  File "D:/01Lesson/PY/rpartition.py", line 23, in <module>
    print(str6.rpartition(''))
ValueError: empty separator

從上面輸出可以看出,當sep為空字符串時會引發(fā)ValueError錯誤。

7、區(qū)分大小寫

rpartition()函數(shù)與partition()函數(shù)一樣對字符是區(qū)分大小寫的,看下面這個例子:

str7 = "Python is good,python is easy."
print(str7.rpartition('Python'))

輸出結(jié)果如下:

('', 'Python', ' is good,python is easy.')

從輸出結(jié)果可以看出,sep指定的為“Python”,第一個字母大寫,所以rpartition()實際上是以開頭的“Python”作為分割,而不是中間的那個“python”

總結(jié)

str.rpartition(sep)函數(shù)的作用是以str中最后一個出現(xiàn)的sep作為分割,把字符串分為三部分:sep前面的部分,sep本身和sep后面的部分。

如果str中不包含sep,則返回的三元元組中的元素是兩個空字符串和str本身。

rpartition對傳入的參數(shù)sep是區(qū)分大小寫的。

rpartition不能傳入空字符串,也不能為None,但可以是其它格式控制符,如'/r','/n'等。


如有問題,歡迎留言。如需轉(zhuǎn)載,請注明出處和本文的鏈接地址:

武林網(wǎng)VEVB(http://www.survivalescaperooms.com)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新野县| 静宁县| 阿坝县| 礼泉县| 瓦房店市| 开封县| 德保县| 醴陵市| 茶陵县| 西昌市| 东阳市| 乐东| 崇义县| 扶风县| 莫力| 嘉善县| 昭觉县| 金乡县| 固原市| 曲周县| 积石山| 柞水县| 纳雍县| 六枝特区| 英超| 思南县| 佛山市| 焦作市| 江山市| 通海县| 静安区| 马关县| 敦化市| 阿鲁科尔沁旗| 沁源县| 大丰市| 咸阳市| 连山| 平凉市| 常山县| 都安|