关于Python里split()函数的用法

本文详细介绍了Python中字符串split方法的使用方式,包括如何指定分隔符和分割次数,通过多个示例展示了如何利用该方法进行字符串处理。适用于初学者和需要回顾此知识点的开发者。
生气str.split(s,num)

s-->代表分隔符,不写则默认为所有的空字符,包含空格、换行(\n)、制表符(\t)等
num-->代表分割次数

返回值:分割后的字符串列表。(是一个list)

实例:
>>> s = 'helloworld \nmike \n666'

>>> s.split()
['helloworld', 'mike', '666']

>>> s.split(' ',2)
['helloworld', '\nmike', '\n666']

>>> s.split(' ',1)
['helloworld', '\nmike \n666']

>>> s.split(' ',3)
['helloworld', '\nmike', '\n666']

>>> s.split('\n',3)
['helloworld ', 'mike ', '666']

需要注意的是每次切割后左边的切点左边的即为list的元素右边为剩下的

>>> s = 'kkkbobkk'
>>> s.split('k')
['', '', '', 'bob', '', '']

>>> s = 'p  p p  p'
>>> s.split()
['p', 'p', 'p', 'p']
#当不带参数时,默认是以空字符作为参数,不管空字符在哪,或者有几个,全部被搞掉了!
>>> s.split(' ')
['p', '', 'p', 'p', '', 'p']

生气借用一个很好的例子帮助理解:

>>> str="hello boy<[www.doiido.com]>byebye"
>>> str.split("[")[1].split("]")[0]
'www.doiido.com'
>>> str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']
### Python `split` 函数详解 #### 基本语法 Python 的 `split()` 方法用于按照指定的分隔符将字符串拆分为子串,并返回这些子串组成的列表。该方法的基本形式如下: ```python str.split(separator, maxsplit) ``` 其中,`separator` 是可选参数,表示用来分割字符串的字符;如果未提供,则会使用任意空白字符作为分隔符[^2]。 #### 默认行为 当不传递任何参数给 `split()` 时,默认情况下它能够识别多种类型的空白字符作为分隔标准,比如空格、换行符 `\n` 和制表符 `\t` 等。这意味着即使原始字符串中有不同种类的空白间隔,也能被正确解析成多个部分。 #### 参数说明 - **separator**: 定义了如何切割输入字符串的具体规则。可以是一个单独的字符也可以是一组连续相同的字符序列。 - **maxsplit**: 这也是一个整数型参数,指定了最大切片次数。一旦达到了这个数目,剩余的部分将会作为一个整体保留下来而不继续分解。如果不设置此值或设为负数,则意味着不限定切割次数,即尽可能多地进行划分直到不能再分为止。 #### 实际应用案例 下面给出几个具体的例子来展示 `split()` 的实际应用场景: 1. 使用默认分隔方式处理多单词短语: ```python sentence = "This is a test sentence." words = sentence.split() print(words) # 输出 ['This', 'is', 'a', 'test', 'sentence.'] ``` 2. 自定义逗号作为分隔标志分离项目清单: ```python items = "apple,banana,cherry" fruits = items.split(',') print(fruits) # 输出 ['apple', 'banana', 'cherry'] ``` 3. 控制最大分割数量以保持某些结构不变: ```python path = "/home/user/documents/file.txt" parts = path.split('/', 3) print(parts) # 输出 ['', 'home', 'user', 'documents/file.txt'] 注意最后一个斜杠后的路径没有再做进一步分裂 ``` 4. 结合条件表达式筛选特定长度以上的词项: ```python lines = ["hello world", "thisisastringwithlongword"] filtered_words = [[x for x in line.split() if len(x)>5] for line in lines] print(filtered_words) # 输出 [['world'], ['thisisastringwithlongword']] ``` 上述代码片段展示了 `split()` 不同方面的灵活性以及与其他操作相结合的能力[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值