25. Python 字符串的切片方法

article/2025/10/28 23:38:46

25. Python 字符串的切片方法

文章目录

  • 25. Python 字符串的切片方法
    • 1. 索引取值知识回顾
    • 2. 什么是切片
    • 3. 切片的语法
    • 4. 切片示例
      • 4.1 步长为1的切片取值
      • 4.2 步长为2的切片取值
      • 4.3 省略开始索引
      • 4.4 省略结束索引
      • 4.5 步长为-2
    • 5. 课堂练习
    • 6. 总结

1. 索引取值知识回顾

【索引取值语法】

字符串索引取值由3部分构成:

  1. 字符串变量名或者字符串本身。
  2. 英文中括号。
  3. 索引。

【代码示例】

# 将字符串ABCDEFG赋值给变量string 
string = 'ABCDEFG'# 取字符串的第1个元素
# 变量名string ;英文中括号;索引为0
print(string [0])

【终端输出】

A

2. 什么是切片

索引取值可以从字符串中取出1个字符。

如果要从字符串中取出多个字符,可以用字符串的切片方法。

在这里插入图片描述

【备注】上述图片来自关东升的《看漫画学Python》。

3. 切片的语法

【语法】

字符串[star:end:step]

字符串[开始字符:结束字符:步长]

字符串切片取值由4部分构成:

  1. 字符串变量名或者字符串本身。

  2. 英文中括号。

  3. 3个参数。

  4. 3个参数之间用英文冒号分隔。

  5. 参数start:表示要取的第1字符的索引(包括该字符),如果不指定,则默认为0

  6. 参数end:表示要取的最后一个字符的索引(不包括该字符),如果不指定,则默认为字符串的长度。

  7. 参数step:表示切片的步长。如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。

步长我的理解就是向前或向后走几步,可以是正整数,也可以是负整数。

步长为1,表示向前走1步,那就是依次取值。

步长为2,表示一次性向前走2步,那就是要跳过1个字符。

步长为-2,表示一次性向后退2步,即从右往左跳过1个字符。

【重点提示】切片取值时包括开始字符,不包括结束字符,简单记忆为含前不含后

4. 切片示例

4.1 步长为1的切片取值

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 从第3个字符开始,第7个字符结束,步长为1
print(a[2:6:1])

【终端输出】

滚烫你是

在这里插入图片描述

【2:6:1代码解析】

start=2即开始字符的索引为2,索引2对应字符串的第3个元素,即字符

end=6即结束字符的索引为6,索引6对应字符串的第7个元素,即字符

step=1即字符串间隔为1,间隔为1表示向前走一步,中间不用跳过字符。

含前不含后即取前面的字符,不取后面的字符

因此取到的值为滚烫你是

【步长为1时可以省略不写】

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 从第3个字符开始,第7个字符结束,步长为1
print(a[2:6])

【终端输出】

滚烫你是

上述代码省略了步长,因此默认步长为1。

【温馨提示】当省略步长时,最后一个冒号也可以省略。

4.2 步长为2的切片取值

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 从第3个字符开始,第7个字符结束,步长为2
print(a[2:6:2])

【终端输出】

滚你

在这里插入图片描述

【2:6:2代码解析】

start=2即开始字符的索引为2,索引2对应字符串的第3个元素,即字符

end=6即结束字符的索引为6,索引6对应字符串的第7个元素,即字符

step=2即字符串间隔为2,间隔为2表示一次性往前走2步,取值时跳过1个字符。

含前不含后即取前面的字符,不取后面的字符

因此取到的值为滚你

4.3 省略开始索引

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 默认索引从0开始
print(a[:6])

【终端输出】

星河滚烫你是

在这里插入图片描述

【:6代码解析】

冒号前没有数字,表示省略开始索引。
数字6后面没有冒号和数字,表示省略步长。

start=0,没有开始索引,索引默认从0开始,索引0对应的字符串的第1个字符,即字符

end=6即结束字符的索引为6,索引6对应字符串的第7个元素,即字符

step=1即字符串间隔为1,间隔为1表示向前走一步,中间不用跳过字符。

含前不含后即取前面的字符,不取后面的字符

因此取到的值为星河滚烫你是

4.4 省略结束索引

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 没有结束索引,默认到整个字符串结尾
print(a[6:])

【终端输出】

人间理想

【6:代码解析】

冒号后面没有数字表示省略结束索引,默认步长为1。

在这里插入图片描述

start=6即开始字符的索引为6,索引6对应字符串的第7个元素,即字符

end:如果不指定,则默认为整个字符串的长度。

step=1即字符串间隔为1,间隔为1表示向前走一步,中间不用跳过字符。

【温馨提示】结束索引默认的情况下可以取到字符串的最后一个字符。

因此取到的值为人间理想

4.5 步长为-2

# 将字符串"星河滚烫你是人间理想"赋值给变量a
a = "星河滚烫你是人间理想"# 从倒数第2个字符开始,到正数第3个字符结束;步长为-2
print(a[-2:2:-2])

【终端输出】

理人你

在这里插入图片描述

【-2:2:-2代码解析】

start=-2即开始字符的索引为-2,索引-2对应字符串的倒数第2个元素,即字符

end=2即结束字符的索引为2,索引2对应字符串的第3个元素,即字符

step=-2即字符串间隔为-2,间隔为-2表示一次性往后退2步,取值时跳过1个字符。

步长为负数表示从右往左走。

因此取到的值为理人你

5. 课堂练习

【练习1】

中国居民身份证号码中的前2位数字代表省份。
取出代表省份的前2位数。

# 将身份证号码赋值给变量id_card 
id_card = "533001199901013029"# 方法1:开始索引为0,结束索引为2,取字符串的第1和第2个字符
print(id_card[0:2])# 方法2:开始索引为0可以不写
print(id_card[:2])

【终端输出】

53
53

【练习2】

取出身份证号码中的出生年月日。

在这里插入图片描述

# 将身份证号码赋值给变量id_card 
id_card = "533001199901013029"# 方法1:开始索引为6,结束索引为14
print(id_card[6:14])# 方法1:开始索引为-12,结束索引为-4
print(id_card[-12:-4])

【终端输出】

19990101
19990101

6. 总结

在这里插入图片描述

【取值技巧】

前加1,后不变

前加1,后不变

前加1,后不变

【例如】

【0:2】表示取第1个到第2个字符。

【1:5】表示取第2个到第5个字符。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/3lAWelGj.shtml

相关文章

Go语言切片详解

切片(slice)是对数组的一个连续片段的引用,所以切片是一个引用类型(因此更类似于 C/C 中的数组类型,或者 Python 中的 list 类型),这个片段可以是整个数组,也可以是由起始和终止索引…

字符串的切片1

切片的基本语法格式:[头下标:尾下标:步长] 1.字符串切片可以对字符串进行截取操作,获取一段子串。 2.[头下标:尾下标]遵循前闭后开规则(头标可取到,尾标取不到)。 3.步长可省略&a…

Python3的切片

Python3的切片非常灵活,可以很方便地对有序序列进行切片操作,代码简单易用。 大家都知道,我们可以直接使用索引来访问序列中的元素,同时索引可分为正向和负向两种,而切片也会用到索引,下面放上一个图&…

Python列表切片详解([][:][::])

Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a list[::10] 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用法,因此自己翻阅《Python核心编程中文…

Numpy 数组切片

一、列表切片(一维数组) 1.1、切片原理 列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。Python中符合序列的…

python 字符串切片

1. 字符串的索引 字符串的索引从前往后是从0开始计数,从后往前是从-1开始依次 -1 2.字符串切片方法 语法格式 str[beginIndex:endIndex:step]取值结果: [begin,end) / 含头不含尾 步长不设置时默认为1 3.切片 ① 取x-y位置的字符串: 从中间开始,中间…

Python 列表切片操作

Python列表切片 切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等。可以用切片截取列表中任何部分来获得一个新的列表,也可以进行元素的增、删、改。在Python中,序列的序号即可以从左向右以0开始依次增加,…

Python 列表切片详解

一、列表切片 切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。 Python中符合序列的有序序列都支持切片&a…

详解Python中的切片(一看就懂版)

前言 在我们使用Python的时候,经常会听到“切片”这个词!那什么是切片呢?切片是对序列数据(列表、元组、字符串),根据下标索引,对一定范围内数据的获取。 简单来说就是,通过下标索引…

图片切片分割

在处理图片时,若加载一个大的图像,它加载所需要的时间一般会很长。 普通解决办法:压缩图片。 压缩时需要注意以下几个问题: 1、实际文件的大小; 2、分辨率; 3、压缩; 一般来说,压缩图片会使图像质量受…

python中[-1] [:-1] [::-1] [n::-1] 切片的用法

首先简明概要说明用法,然后再用实际例子阐述。 用法概述 [-1] [:-1] [::-1] [n::-1]都是python中切片的使用方法。 [-1]:获取最后一个元素,类似于matlab中的end;[:-1]:除了最后一个元素,获取其他所有的元…

第五节——切片

切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。 切片定义 …

切片(slice)

一.切片的基本介绍(slice) (1) 切片是一个数组的引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。 (2) 切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度len(slice)都一样 (3)切片的长度是可以变化的&#…

切片基础知识

一、切片含义 1.切片(slice)是对序列型对象的一种高级索引方法。python中是用来切割可迭代对象(容器) 2.切片对象:列表list, 字符串string, 元组tuple,range函数等 二、形式 一个完整的切片有三个参数 object[start:end:step…

Python中的切片(详细篇)学起来喔

Python中的切片知识. 在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。 普通索引只取出序列中 一个下标 对应的元素,而切片取出序列中 一个范围 对应的元素,这里的范围不是狭义上的连续片段。通俗一点就是…

Python基础知识:切片

什么是切片操作 在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。下面的代码初步展示了切…

Django 对接 Mysql Datatime 日期格式化处理

查询显示结果时,前端界面会是英文格式显示日期,那么应该怎么处理? 这里直接在前端操作,将日期格式化 “ | ” 符号后,拼接日期格式根据本身数据库显示格式来去,我这里是年月日,时分秒

MySQL 日期类型小数秒的处理

一、 MySQL 日期类型对小数秒的支持 注:本文所使用MySQL版本为 5.7 版本。 官方文档:https://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html 1、小数秒位数精度 MySQL 支持小数秒的展示,比如官网的例子,在建表时&…

Java 接收 MySQL datetime 类型日期字段输出格式问题

文章目录 前言Java 与 MySQL 类型对应注解操作代码格式转换参考 前言 不管世事多艰难,别忘了,看开点儿,再温柔点儿,不要满身戾气,也不要紧皱眉头,生活都是在你眉开眼笑的时候,一天天好起来的。…

mysql查询数据库日期_mysql如何查询日期与时间

前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询。关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法。 1.日期和时间类型概览 MySQL支持的日期和时间类型有 DATETIME、TIMESTAMP、DATE、…