Python 中 split 函数 的expand 参数
时间: 2024-03-19 22:45:38 浏览: 16
Python 中的字符串方法 `split()` 有一个可选的参数 `expand`,该参数默认为 False。如果将 expand 参数设置为 True,则分割后的结果将以列表的形式返回,其中每个元素都是一个包含分割后的子字符串和分隔符的元组。
下面是一个示例:
```python
s = 'a,b,c'
result = s.split(',')
print(result) # ['a', 'b', 'c']
```
上述代码中,将字符串 `s` 按照逗号 `,` 进行分割,得到一个包含三个元素的列表 `['a', 'b', 'c']`。
如果将 expand 参数设置为 True,则分割后的结果将以列表的形式返回,其中每个元素都是一个包含分割后的子字符串和分隔符的元组。示例如下:
```python
s = 'a,b,c'
result = s.split(',', expand=True)
print(result) # [('a', ','), ('b', ','), ('c', '')]
```
上述代码中,将字符串 `s` 按照逗号 `,` 进行分割,并将 expand 参数设置为 True,得到一个包含三个元素的列表,每个元素都是一个包含分割后的子字符串和分隔符的元组。其中,第一个元素为 `('a', ',')`,表示分割后的第一个子字符串为 `'a'`,分隔符为逗号 `,`;第二个元素为 `('b', ',')`,表示分割后的第二个子字符串为 `'b'`,分隔符为逗号 `,`;第三个元素为 `('c', '')`,表示分割后的第三个子字符串为 `'c'`,分隔符为空字符串 `''`。
需要注意的是,如果 expand 参数设置为 True,则 split() 方法返回的列表中最后一个元素的分隔符为空字符串 `''`,而不是分隔符本身。这是因为如果最后一个子字符串后面没有分隔符了,那么返回的元组中就没有分隔符了。如果需要保留最后一个分隔符,可以在字符串末尾添加一个分隔符,例如:
```python
s = 'a,b,c,'
result = s.split(',', expand=True)
print(result) # [('a', ','), ('b', ','), ('c', ''), ('', ',')]
```
上述代码中,在字符串 `s` 的末尾添加了一个逗号 `,`,这样就可以保留最后一个分隔符,得到的结果为 `[('a', ','), ('b', ','), ('c', ''), ('', ',')]`。