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']

登录后复制

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

立即学习“Python免费学习笔记(深入)”;

    在某些情况下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, righthttp 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的代码示例浅析

以上就是Python中partition字符串函数实例教程的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2272302.html

(0)
上一篇 2025年2月27日 12:46:59
下一篇 2025年2月27日 02:24:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 详解Python中使用values()的实例教程

    这篇文章主要介绍了python中返回字典键的值的values()方法使用,是python入门学习中的基础知识,需要的朋友可以参考下  values()方法返回给定的字典中所有可用值的列表。语法 以下是values()方法的语法: dict.…

    编程技术 2025年2月27日
    200
  • 分享python中sort的使用方法实例

    这篇文章主要介绍了python中的sort方法,需要的朋友可以参考下 Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一、基本形式列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可…

    编程技术 2025年2月27日
    200
  • python爬虫入门(3)–利用requests构建知乎API

    这篇文章主要给大家介绍了关于python爬虫入门之利用requests构建知乎api的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 前言 在爬虫系列文章 优雅的HTTP库reques…

    2025年2月27日 编程技术
    200
  • python爬虫入门(1)–快速理解HTTP协议

    http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道。下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解http协议的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。 …

    2025年2月27日
    200
  • python函数参数的不同

    在运用python的过程中,发现当函数参数为list的时候,在函数内部调用list.append()会改变形参,与c/c++的不太一样,查阅相关资料,在这里记录一下。 python中id可以获取对象的内存地址 >>> nu…

    编程技术 2025年2月27日
    200
  • python发送邮件

    python发送邮件 准备 python中发送邮件主要用的是smtplib和email两个模块,下面主要对这两个模块进行讲解 在讲解之前需要准备至少两个测试的邮箱,其中要在邮箱的设置中开启smtplib协议才可以进行发送和接受 smtpli…

    编程技术 2025年2月27日
    200
  • Python客户端与服务端的简单网络编程示例

    这篇文章主要介绍了python简单网络编程,详细介绍了客户端与服务端的具体实现技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了Python简单网络编程。分享给大家供大家参考,具体如下: 内容目录 1. 客户端(client.py)2…

    编程技术 2025年2月27日
    200
  • 如何利用Python在运算后得到浮点数值的方法详解

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1、修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道…

    编程技术 2025年2月27日
    200
  • python多进程快还是多线程快?

    下面小编就为大家带来一篇python多进程和多线程究竟谁更快(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 python3.6 threading和multiprocessing 四核+三星250G-…

    2025年2月27日
    200
  • 关于Python安装官方whl包和tar.gz包的方法详解(收藏)

    下面小编就为大家带来一篇python安装官方whl包和tar.gz包的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Windows环境:   安装whl包:pip install wheel  …

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论