国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 凉城县| 五家渠市| 特克斯县| 兴山县| 仙桃市| 兴安县| 长宁县| 马边| 十堰市| 台中市| 林州市| 红原县| 孟津县| 元江| 宿松县| 彝良县| 偏关县| 长海县| 馆陶县| 祁连县| 海原县| 宜昌市| 江川县| 荆门市| 乌鲁木齐市| 辽源市| 从江县| 南江县| 富蕴县| 高安市| 会理县| 吴桥县| 青浦区| 依安县| 周宁县| 泗阳县| 仪陇县| 东辽县| 江山市| 通城县| 临澧县|