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项目实战<瑞吉外卖>,请结合课程资料阅读以下内容 该篇我们将完成以下内容: 文件上传下载 新增菜品 ...
- POJ:1511 Invitation Cards(双向搜索最短路径)
POJ :1511 http://poj.org/problem?id=1511 思路 求1号点到其他点的最短路 + 其他点到1号点的最短. 结果用long long. 用快读可以加快时间 代码 sp ...
- 【每日一题】36. 小AA的数列 (二进制DP)
补题链接:Here 算法涉及:位运算,DP 这道题想了很久但实在没想什么巧妙的解法,暴力的代码就不放,这里引用Kur1su 的思路 异或问题优先考虑二进制位,对于这个问题,我们需要考虑偶数长度的区间, ...
- Kotlin 协程真的比 Java 线程更高效吗?
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/-OcCDI4L5GR8vVXSYhXJ7w作者:吴越 网上几乎全部介绍Kotlin的文章都会说 ...
- Vue tinymce富文本编辑器整合
最近再弄一个后台管理系统,挑选了不少的编辑器,最终选择了tinymce,UI精美,功能模块多,可按需加载配置 vue cli 3 + tinymce5.0版本整合参考:https://liubing. ...
- P1228-递归【黄】
这道大递归我一开始就找对了方向,不过了MLE,然后从网上搜索到了一个贼有用的概念--尾递归,即如果递归的下一句就是return且没有返回值或者返回值不含有递归函数则编译器会做优化,不会压入新的函数而是 ...
- go 接口学习笔记
这里是对接口在汇编层面上转换和实现的小结,详细了解可参考 Go 语言接口的原理 1. 类型转换:结构体到接口 1.1 结构体方法实现接口 package main type Duck interfac ...
- Go 标准库 net
本篇文章主要介绍 Go 标准库中的 net 包,通过一个小例子介绍常用的 net 包函数/方法 Listen,Accept 和 Dial 等. 1. net 简介 Go 官网对 net 包的定义如下: ...
- Vue之使用elementUI的upload上传组件导入csv文件
最近干活的时候有个需求,需要将csv文件导入到mysql数据库中,前后端框架用的springboot+Vue,组件用的elementUI,下面将分步骤记录实现过程. 1.导入按钮部分: <el- ...
- 26-IP调用 - PLL
1.PLL IP核简介 PLL(Phaze Locked Loop)锁相环是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意的分频.倍频.相位调整.占空比调整,从而输出一个期望时 ...