python中strip()函数的理解
1、strip()函数
函数原型
声明:s为字符串。rm为要删除的字符序列
s.strip(rm) :删除s字符串中开头、结尾处。位于 rm删除序列的字符
s.lstrip(rm) :删除s字符串中开头处。位于 rm删除序列的字符
s.rstrip(rm) :删除s字符串中结尾处,位于 rm删除序列的字符
如今来分析s.strip(rm)这个函数。
- 如今如果s=‘abcd’
则 s.strip(‘bd’)————->’abc’- 而s.strip(‘ba’)和s.strip(‘ab’)的结果是一样的,都是’cd’
- 而s.strip(‘bd’)得到的结果是’abc’,于是我就不理解了
- 于是我继续尝试,发现s.strip(‘bac’)———->’d’
非常多博客都是这样说明了下,然后就没有然后了,都没有解释究竟是怎么工作的,为什么会产生这种原因,不知是过于简单所以别人都没有进行解说还是我过于笨拙。没能理解。
产生这种原因我的理解例如以下:s.strip(rm)首先检查字符串s中的首尾字符是否在rm中。如存在则将字符从中删除,并用删除字符后的字符串继续检查首尾字符是否出如今rm中。如此下去,并返回最后的结果。
上面可能说的比較抽象,以上面的样例 s.strip(‘ba’)为例,经历了几下几步
- 第一步:字符串s=‘abcd’先检查其首尾字符是否出如今rm=’ba’中,发现首字符’a’存在于rm=’ba’中,于是将’abcd’中的’a’字符从中删除,得到’bcd’字符串
- 第二步:再继续检查所得字符串’bcd’的首尾字符是否出如今rm=’ba’中。发现首字符’b’存在,则将’bcd’中的字符’b’从中删除,得到’cd’字符串
- 第三步:再继续检查所得字符串’cd’中的首尾字符是否小狐仙在rm=’ba’中,发现没有。则将其返回,结束。
个人愚见,不知正确与否。若不对,欢迎批评指正
python中strip()函数的理解的更多相关文章
- Python中strip()函数
在python API中这样解释strip()函数:
- python中strip函数的用法
python中往往使用剥除函数strip()来对用户的输入进行清理.strip函数的最一般形式为: str.strip('序列') 其中,序列是一段字符串,该函数表示从头或者从尾部开始进行扫描,如果扫 ...
- 对于Python中回调函数的理解
关于回调函数,网上有很多说明和各种解释,多数在尝试用语言描述.我认为,如果对各个角色之间的关系不清楚,如果没有相关的编程需求,那么语言便非常无力,很难理解. 这是360百科的解释: 在计算机程序设计中 ...
- python中Strip()函数的用法
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. str.strip([chars]) ...
- 什么是工厂函数?Python 中工厂函数怎么理解?(转)
所谓工厂函数就是指这些内建函数都是类对象(实际上是类), 当你调用它们时,实际上是创建了一个类实例. type():查看类型
- Python中strip()、lstrip()、rstrip()函数的用法
Python中使用函数strip().lstrip().rstrip()来剔除字符串前后的特定字符 函数语法为:str.strip(chars) 返回值是一个新的字符串,不更改源字符串 其中,参数ch ...
- python中strip,lstrip,rstrip简介
一.起因 今天在做角色控制中,有一个地方用到rstrip,判断用户请求的url是否与数据库对应可用权限中url相符. if request.path == x.url or request.path. ...
- Python中split()函数的用法及实际使用示例
Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...
- Python 中的函数
学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...
随机推荐
- [AGC004F] Namori
Description 现在给你一张N个点M条边的连通图,我们保证N−1≤M≤N,且无重边和自环. 每一个点都有一种颜色,非黑即白.初始时,所有点都是白色的. "全"想通过执行若干 ...
- [NOIP2013] 提高组 洛谷P1979 华容道
题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 ...
- Use ASP.NET and DotNetZip to Create and Extract ZIP Files
原文发布时间为:2011-02-16 -- 来源于本人的百度文章 [由搬家工具导入] Published: 11 Feb 2011By: Scott MitchellDownload Sample C ...
- .NET泛型编程 性能提升工具 List<T>
原文发布时间为:2009-10-27 -- 来源于本人的百度文章 [由搬家工具导入] 结论 .NET 2.0中的泛型是强有力的,你写的代码不必限定于一特定类型,然而你的代码却能具有类型安全性。泛型的 ...
- android中Adapter适配器的讲解
Adapter(适配器的讲解) 适配器就我自己来看,我觉得这是一个非常重要的知识点,Adapter是用来帮助填出数据的中间桥梁,简单点说吧:将各种数据以合适的形式显示在View中给用户看.Adapte ...
- 反射$change属性问题
写DB框架的时候,使用反射获取属性的时候,多了一个$change属性,当场一脸懵比. stackoverflow 发现是Android Studio2.0的.Instant Run 的问题. 解 ...
- [Math Review] Linear Algebra for Singular Value Decomposition (SVD)
Matrix and Determinant Let C be an M × N matrix with real-valued entries, i.e. C={cij}mxn Determinan ...
- ArcGIS 10.2 二次开发,兼容Visual Studio 2012二次开发,完美安装教程
GIS 经常安装是常有的事,每次重装系统都要浪费大半天去安装这个.所以凑这一次安装,把这个软件重新安装的步骤整理了一下,希望对大家有所帮助.这次整理的内容的关键优点是,对常见的出错内容进行了归纳整理. ...
- iphone之判断屏幕方向
有两种方法可以判断 1,程序刚开始运行的时候,不能获取当前方向.给你说几种方式,你试一下: 1. 可以在启动后0.01秒执行初始化的代码,这个时候就可以获取设备方向了. 2. 另外一种方式,借助状态栏 ...
- linux调整缓存写入磁盘的时间,减少磁盘爆掉的可能性
缓存数据存入磁盘的最长时间,如果这段时间写不完,就会报异常停止写,这样缓存数据会不断积累,导致内存爆掉. echo 0 > /proc/sys/kernel/hung_task_timeout_ ...