Python partition() 语法
partition() 是 Python 字符串的一个方法,它会根据指定的分割符来对字符串进行分割,然后返回一个包含 3 个元素的元组。
语法:
str.partition(sep)说明:
partition() 方法接收单个参数。
sep(必选):指定分割符。
如果字符串包含指定分割符,则会返回一个包含 3 个元素的元组:第 1 个元素是左边的子串,第 2 个元素是分割符,第 3 个元素是右边的子串。
(左子串 , 分割符 , 右子串)注意:
- 如果字符串中包含多个分割符,则 partition() 只会在第 1 个分割符处进行分割。
- 如果分割符未找到,则返回:
( 原字符串 , '', '')。 - 分割符可以是 “多字符字符串”,但不能为 “空字符串”(会引发 ValueError 异常)。
Python partition() 摘要
| 使用频率 | 低 |
|---|---|
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| 相关方法 | rpartition()、split() |
Python partition() 示例
接下来,我们通过几个简单的例子来讲解 Python partition() 方法是如何使用的。
示例 1:partition() 基本用法
s = 'Python*Java'
result = s.partition('*')
print(result)运行结果如下。
('Python', '*', 'Java')分析:
对于 s.partition('') 来说,'' 是分割符。partition() 会以此将原字符串拆开,最终返回一个包含 3 个元素的元组:左边是 'Python',中间是分割符本身 '*',右边是 'Java'。
示例 2:字符串包含多个分割符
s = 'Python*Java*Go'
result = s.partition('*')
print(result)运行结果如下。
('Python', '*', 'Java*Go')分析:
如果字符串中包含多个分割符,则 partition() 方法只会在第 1 个分割符处进行分割。
示例 3:字符串不包含分割符
s = 'PythonJavaGo'
result = s.partition('*')
print(result)运行结果如下。
('PythonJavaGo', '', '')分析:
如果字符串不包含指定的分割符,partition() 会将整个原字符串作为元组的第 1 个元素返回,而元组的剩下 2 个元素则都是空字符串 ''。
示例 4:分割符在开头或结尾
s1 = '*PythonJava'
s2 = 'PythonJava*'
print(s1.partition('*'))
print(s2.partition('*'))运行结果如下。
('', '*', 'PythonJava')
('PythonJava', '*', '')分析:
如果分割符在开头时,左子串为空字符串。如果分割符在末尾时,右子串为空字符串。
