python中的partition函数_Python中partition字符串函数实例教程

在2.5版中新增加了一个叫partition的函数,它可以做什么呢?举一个小例子:

>>> ‘http://www.donews.net/limodou’.partition(‘://’)

(‘http’, ‘://’, ‘www.donews.net/limodou’)

>>> ‘file:/a.html’.partition(‘://’)

(‘file:/a.html’, ”, ”)

从第一个例子可以看出,它用来根据指定的分隔符将字符串进行分割,如果字符串包含指定的分隔符,则返回一个3元的tuple,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。第二个例子说明,如果找不到指定的分隔符,则返回仍然是一个3元的tuple,第一个为整个字符串,第二和第三个为空串。

那么有人要问,它与split(sep, 1)有什么区别呢?首先split返回的可能不是固定长度的返回值,它返回的是一个list,如果找到,则返回一个2元list,如果没找到,则返回一个1元的list,如:>>> ‘a.b.c’.split(‘,’, 1)

['a.b.c']

>>> ‘a.b.c’.split(‘.’, 1)

['a', 'b.c']

同时在找到的情况下,它并不返回分隔符。

在某些情况下partition(sep)和rpartition(sep)(从右向左匹配)与split(sep, 1)和rsplit(sep, 1)的功能是类似的。不过partition其实是为了替换find,index而产生的,并不是为了替换split而产生的。在许多情况下,我们需要先通过find来找到一个位置,再进行分割。而使用partition就方便得多。如:>>> a = ‘http://www.donews.net’

>>> pos = a.find(‘://’)

>>> if pos > -1:

… print a[:pos], a[pos+1:]

http www.donews.net

而使用partition:>>> a = ‘http://www.donews.net’

>>> left, sep, right = a.partition(‘://’)

>>> print left, right

http www.donews.net

是不是简单一些呢。

同时在2.5版中,startswith和endswith有变化,它的第一个参数可以是一个tuple了。这样用在判断几种情况的时候非常方便。比如要判断文件名后缀,原来只支持一个值时,可能要先拆分,再判断,用不上endswith,如:>>> a = ‘a.gif’

>>> import os.path

>>> ext = os.path.splitext(a)[1]

>>> if ext in ['.gif', '.png', '.bmp']:

… print ‘found’

found

而现在可以:>>> a = ‘a.gif’

>>> if a.endswith((‘.gif’, ‘png’, ‘.bmp’)):

… print ‘found’

found

是不是简单多了。注意,上面的tuple我换成list就是不行,看来是强制的。

许多有趣的东西等着你我来发现。

【相关推荐】

1. 分享一篇Python中字符串函数 (partition)详解

2. 分享一个字符串函数(partition)的实例代码

3. MySQL之-数据表分区技术PARTITION的代码示例浅析

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pythonpartition函数是一个字符串方法,用于将字符串分成三部分:分隔符之前的部分、分隔符本身和分隔符之后的部分。该函数的语法如下: str.partition(separator) 其,str是要分割的字符串,separator是分隔符。该函数返回一个元组,包含三个元素,分别是分隔符之前的部分、分隔符本身和分隔符之后的部分。如果分隔符不存在,则返回一个元组,包含原字符串、空字符串和空字符串。 例如,对于字符串"hello world",使用分隔符" ",则partition函数的返回值为: ('hello', ' ', 'world') 如果使用分隔符"o",则返回值为: ('hell', 'o', ' world') ### 回答2: Pythonpartition函数是一种字符串方法,用于将一个字符串分解为包含三个部分的元组:分隔符之前的子字符串、分隔符本身和分隔符之后的子字符串partition()函数是一个很实用的字符串拆分函数,它常被用来处理包含某种特定信息的字符串。 语法: partition(separator) 其,separator是分隔符,可以是一个字符串或一个正则表达式。 该函数返回一个元组,包含三个字符串:separator之前的字符串、separator本身和separator之后的字符串。如果没有找到separator,则元组的所有字符串都是原始字符串。 例如,以下是使用partition()函数的一些示例: 示例1: string = "hello world" print(string.partition(" ")) 返回结果为:("hello", " ", "world") 示例2: string = "john.doe@example.com" username, separator, domain = string.partition("@") print(username) print(separator) print(domain) 返回结果为: john.doe @ example.com 示例3: string = "apple,banana,orange" fruit_1, separator, fruit_2 = string.partition(",") print(fruit_1) print(separator) print(fruit_2) 返回结果为: apple , banana,orange 总之,partition()函数可以很方便地将字符串分解为指定格式的子字符串,是Python字符串处理十分常用的函数之一。 ### 回答3: 在Pythonpartition()函数用于根据指定的分隔符来拆分字符串,并将拆分结果以元组(包含三部分)的形式返回。该函数的语法如下: ``` str.partition(separator) ``` 其,separator为字符串类型的分隔符参数,表示在哪个字符处进行拆分。 该函数返回一个元组,元组包含三个元素,分别是: 1. 以separator为分隔符分隔出的左侧部分; 2. 分隔符本身; 3. 以separator为分隔符分隔出的右侧部分。 如果字符串没有指定的分隔符,则返回原字符串作为第一个元素,后两个元素均为空字符串。如果分隔符出现多次,则只在最左边的分隔符处进行拆分。 下面是一些示例: ```python >>> s = "I love Python." >>> s.partition(" ") ('I', ' ', 'love Python.') >>> s.partition("o") ('I l', 'o', 've Python.') >>> s.partition("o")[1] 'o' >>> "No separator".partition(" ") ('No separator', '', '') ``` 使用partition()函数可以方便地从字符串提取信息,比如提取文件名称和扩展名等。同时,它也可以作为字符串拆分的一种高效方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值