python中使用[]来截取字符串,语法:

字符串[起始位置:结束位置]

一、起始位置:结束位置

先看几个例子:

s = 'python'
print(s) #输出 python 直接输出字符串
#从前面截取
print(s[1]) #输出 y 根据下标取字符
print(s[:]) #输出 python 从头取到尾
print(s[1:]) #输出 ython 从下标1开始,取到结尾
print(s[0:2]) #输出 py 从下标0开始,取到下标2,顾头不顾尾,所有不包含下标2
print(s[0:100]) #输出 python 结束位置即使超出字符串实际长度,也不影响正常切片操作
#从后面截取
print(s[-1]) #输出 n 根据下标取字符
print(s[-1:-3]) #无输出,切片要遵循从左向右切的规则
print(s[-3:-1]) #输出 ho 从下标-3开始,取到下标-1,顾头不顾尾,所有不包含下标-1

这里有几项需要注意:

1、根据下标取字符时,下标不能超出索引。

2、顾头不顾尾:截取字符串时,包含头部但不包含结尾。

举例:字符串截取是按下标来截取的,我们都知道,下标是从0开始的,但上面这个例子print(s[0:2])套入上面的语法,就是从下标0开始,截取到下标为2的字符,因为不含结尾字符,故这里输出的是py,而不是pyt。

3、使用切片时,结束位置即使超出字符串实际长度也不影响切片的结果。如print(s[0:100])输出结果python。

4、从左向右:必须遵循从左向右切的规则。

举例:print(s[-1:-3])从下标-1开始,取到下标-3,从上图可看出,从-1至-3是从右向左的顺序,故什么都取不出来。print(s[-3:-1])从左到右截取,输出ho。

二、步长

表示截取字符串每步的长度,默认为1,不能为0,语法格式:

字符串[起始位置:结束位置:步长]

先看个图

下面开始操作:

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#从前面截
print(s[0:10:1]) #输出ABCDEFGHIJ,从左向右,取出下标0-10的值,因为顾头不顾尾,最终取出ABCDEFGHIJ
print(s[0:10:2]) #输出ACEGI,因为这里的步长是2,每两位取1个字符,最终取出ACEGI
print(s[0:10:3]) #输出ADGJ,同理,步长是3,每三位取1个字符,最终取出ADGJ
#从后面截
print(s[-20:-10:1]) #输出GHIJKLMNOP,步长默认是1,故这里步长可写可不写
print(s[-10:-20:-1]) #输出QPONMLKJIH,- 表示反方向,即从右向左切,根据倒序下标,-10至-20为QPONMLKJIHG,此时右边是开头,左边是结尾,参考顾头不顾尾,最终取出QPONMLKJIH
print(s[-10:-20:-2]) #输出QOMKI,同理,反方向步长为2,每两位取1个字符,最终取出QOMKI
print(s[-10:-20:-3]) #输出QNKH

python截取字符串(字符串切片)的更多相关文章

  1. python截取中文字符串

    python的中文处理还是比较麻烦的,utf-8的字符串的长度是1-6个字符,一不小心就会从中截断,出现所谓的乱码.下面这个函数提供了,从一段utf-8编码的字符串中,截取固定长度的字串.ord(ch ...

  2. 【292】Python 关于中文字符串的操作

    参考:什么是字符编码? 参考:Unicode 和 UTF-8 有何区别? 参考:python中文decode和encode转码 一.相关说明 Python 中关于字符串的操作只限于英文字母,当进行中文 ...

  3. Python新手学习基础之数据类型——字符串的切片截取

    切片截取是python中字符串常见的一些操作,我们会在这篇文章里详细介绍,切片截取的作用是获取子字符或子字符串. 实际上,我们要做的就是使用索引,用冒号分隔两个索引,形式为:变量[头下标:尾下标],冒 ...

  4. 【Python实践-4】切片操作去除字符串首尾的空格

    #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...

  5. Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接

    Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接 字符串是Python中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...

  6. 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片

    目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...

  7. Python学习(三) 输出任意格式的字符串以及字符串的切片

    在Python中想要输出一句话,如下 a='hello world' print a //打印出的是hello world print 'hello \n world' //打印出的是 //hello ...

  8. python中的字符串切片

    python中的字符串切片,似乎有点乱,例如: >>>pystr='Python' >>>pystr[2:5] 就会输出 'tho' 这该怎样理解呢?中括号[2:5 ...

  9. python字符串的切片

    # 字符串的切片 """ (5)字符串的切片 :切片就是截取字符串的意思 (1)语法 =>字符串[::] 完整格式:[开始索引:结束索引:间隔值 (2)[:结束索引 ...

  10. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

随机推荐

  1. 2018年蓝桥杯B组C/C++国赛题解

    1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换出 ...

  2. lighthouse性能优化分析工具使用

  3. vue-devtools调试工具

  4. 人人都会Kubernetes(二):使用KRM实现快速部署服务,并且通过域名发布

    1. 上节回顾 上一小节<人人都会Kubernetes(一):告别手写K8s yaml,运维效率提升500%>介绍了KRM的一些常用功能,并且使用KRM的DEMO环境,无需安装就可以很方便 ...

  5. 第65篇 AJAX初识 校验用户名 登录示例 文件上传 csrftoken

    1, 知识储备 2. AJAX的定义 异步的JavaScript和XML 使用场景: JavaScript和后端的数据传递 2.1原生的JavaScript实现AJAX 2.2 JQuery实现 2. ...

  6. MySQL 及调优

    存储引擎的种类 MySQL 中存在多种存储引擎,比如: InnoDB 支持事务: 支持外键: 同时支持行锁和表锁. 适用场景:经常更新的表,存在并发读写或者有事务处理的业务场景. MyISAM 支持表 ...

  7. 在Chrome中安装扩展程序

    场景:在Chrome中安装NetBeans Connector插件,将下载好的crx文件拖到扩展程序页面时,发现该插件并没有安装成功. 分析:浏览器默认禁用了拖入安装 .crx 扩展的功能,导致crx ...

  8. spring--是如何解决单例模式下循环依赖问题的

    Spring 解决单例 bean 的循环依赖主要依赖于容器的三级缓存机制,以及 bean 的提前暴露.这里是它如何工作的: 三级缓存: 一级缓存(singletonObjects):存储已经经过完整生 ...

  9. [转帖]pod容器开启pid限制

    https://zhdya.gitee.io/zhdya/archives/   cgroup中对pid进行了隔离,通过更改docker/kubelet配置,可以限制pid总数,从而达到限制线程总数的 ...

  10. [转帖]Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

    https://www.cnblogs.com/monjeo/p/12191673.html 权限简介Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方 ...