python split 和 rsplit 的区别
时间: 2023-07-05 11:32:43 浏览: 283
Python字符串split及rsplit方法原理详解
split() 和 rsplit() 都是 Python 字符串方法,用于将字符串拆分成多个子字符串并返回一个列表。它们的区别在于拆分的方向不同。
具体来说,split() 方法从左边开始拆分字符串,而 rsplit() 方法从右边开始拆分字符串。例如:
```
s = "hello world"
words1 = s.split() # ['hello', 'world']
words2 = s.rsplit() # ['hello', 'world']
```
在上面的例子中,split() 方法和 rsplit() 方法都使用空格作为分隔符,将字符串 "hello world" 拆分成了两个单词。不同之处在于,split() 方法从左边开始拆分字符串,而 rsplit() 方法从右边开始拆分字符串,但它们返回的结果是相同的。
此外,rsplit() 方法还可以接受一个可选参数 maxsplit,表示最多拆分的次数。如果不指定该参数或将其设置为 -1(默认值),则表示拆分所有出现的分隔符;否则,只会拆分指定次数的分隔符。例如:
```
s = "a-b-c-d-e"
parts1 = s.split("-", maxsplit=2) # ['a', 'b', 'c-d-e']
parts2 = s.rsplit("-", maxsplit=2) # ['a-b', 'c', 'd-e']
```
在这个例子中,split() 和 rsplit() 方法都使用连字符 "-" 作为分隔符,并且都指定了 maxsplit 参数为 2。结果,split() 方法从左边开始拆分字符串,只拆分了前两个分隔符,并将剩余部分作为一个子字符串返回;而 rsplit() 方法从右边开始拆分字符串,只拆分了后两个分隔符,并将剩余部分作为一个子字符串返回。
阅读全文