python——高级特性
切片操作符
Python提供了切片(Slice)操作符,切片操作十分有用,可以通过切片轻松取出某一段数列。比如前10个数:
#slice切片操作符 取前10个元素 L=list(range(0,100)) print(L[:10])#索引为0可以省略 》[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
L[0:10]表示从索引0开始取(索引为0可以省略),直到索引10为止(但是不包括索引10),就是一个“左闭右开”区间[0,10),切片操作符也可以取倒数元素比如L[-2:-1]取到倒数第二个元素98。
用切片操作符实现strip的默认方法
#str.strip() 去掉首尾的指定字符(字符串),默认为空格 str=' hello world! ' print(str.strip()) #使用[:]切片操作符去掉字符串首尾空格 n=0 j=0#前索引 k=0#后索引 while n<len(str): if str[n:n+1]!=' ': j=n break n=n+1 while n<len(str): if str[-n-1:-n]!=' ': k=-n break n=n+1 print(str[j:k]) 》hello world! 》hello world!
进阶版
使用[:]切片操作符实现strip方法
#使用[:]切片操作符实现strip方法 def my_strip(str,chr=' '): n=0#循环索引重置 J=0#前索引 K=0#后索引 Ls=len(str)#输入字符串长度 L=len(chr)#去掉字符长度 #得到前索引J while n<Ls: if str[n:n+L]!=chr: J=n break n=n+L n=0#循环索引重置 #得到后索引K while n<Ls: if str[-n-L:Ls-n]!=chr: K=Ls-n break n=n+L #返回切片 return str[J:K] str='0000a000' chr='000' print(my_strip(str,chr)) 》0a
简单版
看了一个老哥的代码,非常简单,佩服,记录如下:
def trim(str,chr=' '): L=len(chr) while str[:L] == chr: #如果字符串第一个是空格,删除第一个 str = str[L:] while str[-L:] == chr: #如果字符串最后一个是空格,删除最后一个 str = str[:-L] return str

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JavaScript学习之旅-10(原创)
在上一篇文章中,主要学习了JavaScript了map、reduce、filter、Sort等关键字的使用。这一篇文章我们主要学习JavaScript中的闭包,箭头函数 闭包: 在说到闭包以前,我们先复习下JavaScript中的变量作用域。JavaScript中变量的作用域无非就是两种:全局变量和局部变量。需要注意的是,函数内部可以直接读取全局变量;但是在函数外部无法直接读取函数内的局部变量。 举个例子: 其中:data是我们定义的全局变量,在test函数中,我们可以直接使用。所以弹窗也弹出了数据 但是,如果我们在函数里面定义变量,然后直接通过外部引用,就会报错,如下图,异常信息显示第六行错误,那么实际上是data 没有定义,导致的错误。因为data定义是在test函数里面局部变量,外部直接使用局部变量就会报错 需要注意!!!函数内部声明变量的时候,一定要使用var。如果不用的话,你实际上声明了一个全局变量!如下图: 没有使用var变量 那么,正常情况下,如何从外部去获取函数内部定义的变量? 闭包 可以帮助我们有效解决这个问题: 有权访问另一个函数作用域内变量的函数都是闭包。简单点理...
-
下一篇
搞 Java 的年薪 40W 是什么水平?
做Java架构师(P7)岗位有一年时间了,期间也从事了很多招聘定级工作,来说说我见解吧。 既然楼主提到年薪40w,那我们看看什么公司,什么级别可以给到,再看看要求。 阿里是Java大厂,所以可以参考阿里的标准,阿里一般是16薪水,所以就是税前2.5w,在阿里应该是P6就可以达到,而对P6的要求是什么呢,我们内部有个简单的概述,那就是可以独立完成部门内部的项目,而面试过程中,也会有相应的考察。 如何定义一个人可否完成部门内部项目 代码能力 代码能力是基本功,Java语言本身,包括语言的各个方面包括对并发的理解,对内存使用对理解,对Java运维的理解等等。语言本身外,社区里常用的框架是否可以十分清晰的了解,包括spring,包括他实现的ioc,aop,orm,web机制是否有清楚的认识,有丰富的经验等等。 对常用中间件的理解 毕竟在一个大系统中,各种中间件是是否常见的,缓存中间件,消息中间件,例如 redis、memcache、rmq这些。要理解常用中间件使用场景,使用姿势(例如redis的常用命令),甚至包括他的一些运维。一旦出了问题,除了专门的运维人员,也需要你参与问题的排查,因为有时...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- 设置Eclipse缩进为4个空格,增强代码规范
- 面试大杂烩
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)