资源描述
split函数
在Python中,字符串可以使用split函数来分割成一个列表,方便进行各种操作。本文旨在详细讲解split函数的相关用法,包括但不限于:
1. 语法和参数
2. 基本用法
3. 其他常用参数
4. 实际应用场景
1. 语法和参数
split函数的语法如下:
```
str.split(sep=None, maxsplit=-1)
```
其中:
- str:要进行分割的字符串;
- sep:分割的字符或字符串,默认为None;
- maxsplit:最大分割次数,默认为-1,即无限制。
说明:
- 如果使用sep参数,则将字符串按照sep进行分割,生成一个列表;
- 如果不使用sep参数,则默认以空格进行分割。
下面通过示例演示split函数的基本用法。
2. 基本用法
基本应用场景:将字符串按空格分割成一个列表。
示例代码:
```python
s = 'hello world python'
lst = s.split()
print(lst)
```
输出结果为:
```
['hello', 'world', 'python']
```
说明:
- split默认以空格分割字符串s,生成一个列表lst。
也可以使用其他字符进行分割。
示例代码:
```python
s = 'hello,world,python'
lst = s.split(',')
print(lst)
```
输出结果为:
```
['hello', 'world', 'python']
```
说明:
- split按照逗号分割字符串s,生成一个列表lst。
3. 其他常用参数
以下为split函数的其他常用参数:
1. maxsplit参数
maxsplit参数表示最大分割次数,默认为-1,即无限制。
示例代码:
```python
s = 'hello world python'
lst = s.split(maxsplit=1)
print(lst)
```
输出结果为:
```
['hello', 'world python']
```
说明:
- split函数最多只分割一次,返回一个列表lst。
2. sep参数
sep参数表示用于分割字符串的字符或字符串。
示例代码:
```python
s = 'hello-world-python'
lst = s.split(sep='-')
print(lst)
```
输出结果为:
```
['hello', 'world', 'python']
```
说明:
- split函数按照‘-’字符分割字符串s,生成一个列表lst。
3. 多个分割字符
当需要用多个分割字符分割字符串时,可以使用re模块中的正则表达式。
示例代码:
```python
import re
s = 'hello<>world_php'
lst = re.split('[<>_]', s)
print(lst)
```
输出结果为:
```
['hello', 'world', 'php']
```
说明:
- 正则表达式中的‘[<>_]’表示匹配‘<’、‘>’和‘_’三者中任意一个。
- re.split按照上述三个字符分割字符串s,生成一个列表lst。
4. 实际应用场景
下面是split函数在实际应用中的一些场景。
场景一:读取文件内容
以下代码用于读取一个文本文件,并将其按行分割成一个列表。
```python
with open('test.txt', 'r') as f:
content = f.read()
lst = content.split('\
')
print(lst)
```
说明:
- 使用open函数打开文件test.txt并读取全部内容。
- 使用split函数按照换行符‘\
’分割内容,生成一个列表lst。
场景二:页面爬虫
以下代码用于爬取某个网页的文章标题,时间和内容,并将其分别存储到一个列表中。
```python
import requests
from bs4 import BeautifulSoup
url = '
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
title = soup.find('h1', {'class': 'title'}).text
time = soup.find('span', {'class': 'time'}).text
content = soup.find('div', {'class': 'article'}).text
title_lst = title.split('\
') # 标题列表
time_lst = time.split('\
') # 时间列表
content_lst = content.split('\
') # 内容列表
```
说明:
- 使用requests库请求网页,并使用BeautifulSoup库解析网页内容。
- 使用find方法找到标题、时间、内容三个标签,然后使用split方法按照‘\
’分割成列表。
场景三:数据清洗
以下代码用于将一个csv文件读取并清洗数据。
```python
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
data = []
for row in reader:
new_row = [item.strip() for item in row] # 清洗每一行数据
data.append(new_row)
header = data[0] # 表头
lst = data[1:] # 数据列表
```
说明:
- 使用csv库读取文件data.csv的内容。
- 对于每一行,使用split函数按照空格分割后,使用strip方法清洗每一个元素。
- 将清洗后的数据添加到data列表中。
- 使用列索引获取表头和数据列表。
展开阅读全文