s = "abcdefg"

对于这样一个字符串进行操作。分片格式为:

 s[i:j:k]

其中,i和j分别代表子串的起始和末尾;-1则代表倒数第一个元素,同理-2代表倒数第二个元素......j不包括s[j]元素,也就是说s[0:2]截取的是"ab",s[0:0]则是空字符串。i的默认值是0,省略j则会截取完整个字符串。

k是步长,也分为正负两种参数,正参数代表从前往后输出,负参数则是从后往前输出,k的默认值是1。k不可取0。|k|的值代表增量,k==1时,正常输出,当|k|>1时,则会跳过元素输出,例如s[::2]得到的结果是"aceg"。通常情况下k可以省略,s[i:j]和s[i:j:1]是一样的。

举几个例子:

1.将字符串逆置

s[::-1]    #i,j取默认值

得到gfedcba

2.正序输出,但是除掉最后一个字符

s[0:-1]

得到"abcdef"

3.正序输出,倒数3个字符都舍去

s[0:-3]

得到"abcd"

4.正序输出末尾3个字符

s[-3:]     #这里j取了默认值

得到"efg"

注意如果输入s[-3:0],会得到空字符串,输入s[-3,-1]会得到"ef",所以必须省略j才能达到要求。

python的字符串分片的更多相关文章

  1. 4. python 修改字符串实例总结

    4. python 修改字符串实例总结 我们知道python里面字符串是不可原处直接修改的,为了是原来的字符串修改过来,我们有一下方法: 1.分片和合并 >>> a='abcde'  ...

  2. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  3. python学习--字符串

    python的字符串类型为str 定义字符串可以用 ‘abc' , "abc", '''abc''' 查看str的帮助 在python提示符里 help(str) python基于 ...

  4. Python格式化字符串和转义字符

    地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义     符   号     说     明 ...

  5. [转载] python 计算字符串长度

    本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...

  6. Python基础-字符串格式化_百分号方式_format方式

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  7. python判断字符串

    python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...

  8. Python格式化字符串

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  9. python(七)字符串格式化、生成器与迭代器

    字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) ...

随机推荐

  1. putty删除键backspace设置

    putty连接unix登陆后,编辑命令输入错误时要修改,可是习惯性的按backspace键或者Delete键都出现一堆奇怪的字符,无法删除出错的命令语句. 修正方法如下: ************** ...

  2. windows下怎么生成github的ssh公钥

    windows下如何生成github的ssh公钥: 1.首先你要安装Git工具 2.在C:\Documents and Settings\Administrator\目录下,运行Git Bash he ...

  3. window7环境MySql5.7 zip安装配置教程

    1.将zip压缩包解压到一个目录下,并改名为mysql5.7 我的是放在D:\web\mysql5.7下 2.修改my-default.ini文件 下面几项是必填的,否则无法启动 basedir = ...

  4. bzoj5043: 密码破译

    Description 小Q发明了一个新的加密算法,对于一个长度为n的非负整数序列a_1,a_2,...,a_n,他会随机选择一个非负整数k, 将每个数都异或上k得到b_1,b_2,...,b_n,即 ...

  5. 【ZZ】号称“开发者神器”的GitHub,到底该怎么用?

    号称“开发者神器”的GitHub,到底该怎么用? https://mp.weixin.qq.com/s/zpKOBMKWckY05Mv_B28RgQ A developer’s introductio ...

  6. 在OpenCV中要练习的一些基本操作

    OpenCV上手有一些基本操作要练习下,其实是想把OpenCV玩的像MATLAB一样熟 照着MATLAB的手册从前到后找了下自己经常用到的东西,要完成的操作有: // zeros ones eyes ...

  7. etcd 命令行(转)

    原文 https://www.cnblogs.com/breg/p/5756558.html 比较重要的配置 -name 节点名称,默认是UUID-data-dir 保存日志和快照的目录,默认为当前工 ...

  8. Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service"

    tail -f /var/log/message Nov 14 07:12:51 image kubelet: E1114 07:12:51.627782    3007 summary.go:92] ...

  9. [UE4]Format Text

    蓝图会自动把字符串中的占位换成参数输入. 字符串不会自动转换,需要手动转换

  10. 关于Jedis连接Linux上的redis出现 DENIED Redis is running in protected mode问题的解决方案

    redis 添加了requirepass 123456后还是报错,原来是重新启动的时候./redis-cli  没有指定配置文件. https://blog.csdn.net/a532672728/a ...