python截取字符串(字符串切片)
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截取字符串(字符串切片)的更多相关文章
- python截取中文字符串
python的中文处理还是比较麻烦的,utf-8的字符串的长度是1-6个字符,一不小心就会从中截断,出现所谓的乱码.下面这个函数提供了,从一段utf-8编码的字符串中,截取固定长度的字串.ord(ch ...
- 【292】Python 关于中文字符串的操作
参考:什么是字符编码? 参考:Unicode 和 UTF-8 有何区别? 参考:python中文decode和encode转码 一.相关说明 Python 中关于字符串的操作只限于英文字母,当进行中文 ...
- Python新手学习基础之数据类型——字符串的切片截取
切片截取是python中字符串常见的一些操作,我们会在这篇文章里详细介绍,切片截取的作用是获取子字符或子字符串. 实际上,我们要做的就是使用索引,用冒号分隔两个索引,形式为:变量[头下标:尾下标],冒 ...
- 【Python实践-4】切片操作去除字符串首尾的空格
#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接 字符串是Python中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...
- 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片
目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...
- Python学习(三) 输出任意格式的字符串以及字符串的切片
在Python中想要输出一句话,如下 a='hello world' print a //打印出的是hello world print 'hello \n world' //打印出的是 //hello ...
- python中的字符串切片
python中的字符串切片,似乎有点乱,例如: >>>pystr='Python' >>>pystr[2:5] 就会输出 'tho' 这该怎样理解呢?中括号[2:5 ...
- python字符串的切片
# 字符串的切片 """ (5)字符串的切片 :切片就是截取字符串的意思 (1)语法 =>字符串[::] 完整格式:[开始索引:结束索引:间隔值 (2)[:结束索引 ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
随机推荐
- SpringBoot 项目实战 | 瑞吉外卖 Day04
该系列将记录一份完整的实战项目的完成过程,该篇属于第四天 案例来自B站黑马程序员Java项目实战<瑞吉外卖>,请结合课程资料阅读以下内容 该篇我们将完成以下内容: 文件上传下载 新增菜品 ...
- 2017年第八届 蓝桥杯B组C/C++决赛题目
部分题目示意图来自网络,所以会带水印 最后编辑时间: 2021年5月12日 统一声明 如果不写默认带有常用头文件 如果不表明主函数默认表示在 void solve(){} 默认使用 using nam ...
- 你以为这是MacOS ,其实这是我的 Linux 系统 Manjaro!
对于如何将你的 Manjaro 系统美化成 MacOS 你需要做以下几件事情: 1.安装 WhiteSur-Gtk-theme 主题. 2.安装 Plank 软件. 3.安装 vala-panel-a ...
- Delete `␍`eslint(prettier/prettier)错误
最佳实践: 现在VScode,Notepad++编辑器都能够自动识别文件的换行符是LF还是CRLF. 如果你用的是windows,文件编码是UTF-8且包含中文,最好全局将autocrlf设置为fal ...
- appium(三)使用方法
一.appium环境搭建(先决条件) 1.安装JDk 2.安装SDK 参考文章:https://www.cnblogs.com/mrwhite2020/p/13160994.html 3.安装appn ...
- 使用docker compose 编排微服务发布
本文为博主原创,未经允许不得转载: 目录: 1. compose 简介 2. compose 安装 3. 编写 docker-compose.yml 实现微服务发布 4. docker-compose ...
- spring启动流程 (2) Bean实例化流程
本文通过阅读Spring源码,分析Bean实例化流程. Bean实例化入口 上一篇文章已经介绍,Bean实例化入口在AbstractApplicationContext类的finishBeanFact ...
- phpcms : 解决phpcms后台验证码不显示的问题
- C++开发PHP扩展
前端时间用C开发PHP扩展,用C实现字符串和简单的cache不友好,因而有了用C++开发的想法. 相关环境初始化配置准备 1.用php源码提供的脚手架生成扩展名 php ext/ext_skel.ph ...
- [转帖]Oracle Exadata X10M 数据库一体机发布,树立 OLTP 数据库性能新标杆
https://www.modb.pro/db/653936 2023年6月25日消息,Oracle 公司继续以其专用的 Exadata 平台重新定义 OLTP 数据库性能.上周,该公司延续了这一传统 ...