python的索引和切片

article/2025/3/1 18:33:29

一、索引和切片介绍


字符串可以定义为字符的有序集合,我们可以通过其位置获得他们的元素。在python中,字符串中的字符是通过索引提取的。

  • python偏移量是从0开始的,这样就会比字符串的长度len()小1。
  • 大家比较熟悉字符串的正偏移,python中还可以使用负偏移,可以看着是从结束处反向计数。
  • 关于偏移和分片的网格四意图如图,便于理解:

个人觉得这个图解比较好,大部分人的图解都是直接把偏移量0直接指向了第一个元素。



二、代码举例讲解

举例1:索引(S[i])获取特定偏移的元素

S = 'abcdefg'
print(S[0],S[-1])
#('a', 'g')

 

  • 第一个元素的偏移量是0
  • 负偏移索引意味着从最后或者右边反向进行计数
  • S[0]获取了第一个元素
  • S[-1]获取了倒数第一个元素,效果等同于S[len(S)-1]

举例2:分片(S[i:j])提取对应的步伐作为一个序列

S = 'abcdefg'
print(S[1:3])
#'bc'
print(S[1:])
#'bcdefg'
print(S[:-1])
#'abcdef'

 

  • 上边界并不包含在内
  • 分片的边界默认为0和序列的长度,如果没有特别给出的话
  • S[1:3]获取了从偏移为1的元素,到但是不包含偏移为3的元素
  • S[1:]或者了从偏移1直到末尾直接的元素
  • S[:3]获取了从偏移0直到但是不包括3之间的元素=S[0:3]
  • S[:-1]获取了从偏移量0直到但是不包含最后一个元素之间的
  • S[:]获取了所有的元素,可以实现顶层S的拷贝



三、扩展分片:第三个限制值S[I:J:K]


直接代码举例进行说明

print(S[1:5:2])
# 'bd'
print(S[::2])
# 'aceg'
print(S[::-1])
# 'gfedcba'
print(S[5:1:-1])
# 'fedc'

 

  • S[I:J:K]代表“偏移从X到J-1,每隔K元素索引一次”
  • 第三个限制K,默认为1
  • S[1:5:2]取偏移1到4之间的元素,间隔1个元素的元素,也就是偏移1、3之处的元素
  • S[::2]从序列头取到尾,每隔一个元素的元素,也可以用负数作为步进,步进-1代表从右向左进行。
  • S[::-1]实际效果就是将序列进行反转(这是一个有用的技巧)
  • S[5:1:-1]反转的顺序获取2到5的元素(偏移5、4、3、2的元素)
     

from我的简书:https://www.jianshu.com/p/d3839175eaf4


http://chatgpt.dhexx.cn/article/sYIPQ26h.shtml

相关文章

【Python】索引+序列

索引 ‘’’ 这种双重抽象虽然看起来没必要,但是pandas索引的数据类型, 可以支持字符串、日期、任意排序的索引,以及重复的索引值。 索引是pandas的核心功能,在序列上的操作,可以按照索引进行查找。特别是时间序列的…

python中字典的索引_python字典索引

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 提到字典大家应该都不陌生,小学大家应该都用过。 ? 字典的前几页,一般是索引,可以按照拼音来检索,也可以按照偏旁部首来检索。 索引的好处就是可以加快检索…

python怎么建立索引_python建立索引

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 上个专题提到了如何利用python操作oracle数据库并监控想要的指标这个专题讲述如何讲这些监控数据保存在mysql中为日后所用----上节讲到建立一个mysql数据库并新…

Python字符串索引

Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。 str Runoob print (str) # 输出字符串 print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 print (str[0]) # 输出字符串第一个字符 print (str[2:5]) …

python字符串-索引、切片、方法

总结(重点记): 一、索引、切片: 1、索引,从0开始,可为负数,超出范围则报错 2、切片,v[start:end],也可负数,但很少用,step步长,也很…

python的索引与切片

目录 1.一维数组的索引和切片 1.二维数组的索引和切片 在python的学习过程,有些同学对索引和切换会感到困惑,今天我们就来弄清楚它。 1.一维数组的索引和切片 如下图所示,该一维数组只有一个轴(维度),即轴…

python索引

#索引 作用:访问容器元素 str “齐天大圣” 获取第一个元素 print(str[0]) 获取第2个元素 print(str[1]) 切片 从容器中取出相应的元素 语法: 容器[(开始索引):(结束索引):(步长)] str1 "我叫齐天大圣" print(str1[0:2])#我叫 # 开始值默…

Python 索引

Python 索引 知识回顾,想回顾下python的序列结构有那些 1 列表(list) 2 元组(tuple) 3 集合(set) 4 字典(dict) 5 字符串(str) 一定要记住的是: 1 集合和字典不支持索引,切片,相加,相乘操作的 2 序列结构后面跟的字母,知道了字母我们很好记住怎样创建空的序列,以及它们…

Python高级用法:索引和切片

大家好,我是老马的程序人生~ Python语言语法简洁,易于上手,但当你深入研究时,会发现Python有很多高级用法,这些高级用法可以大幅度提高代码的可读性和运行效率。 下面介绍Python的高级用法之一:索引与切片…

微机中锁存器和缓冲器的区别

锁存器和缓冲器的作用是什么? 锁存器广泛用于计算机与数字系统的输入缓冲电路,其作用是将输入信号暂时寄存,等待处理,这一方面因为计算机或数字系统的操作都是有序进行的,通常不可能信号一到即刻处理,另一方面&#x…

锁存器、触发器和寄存器区别对比-基础小知识(十)

文章目录 基本概念锁存器与触发器区别锁存器与触发器不同应用场合锁存器产生条件锁存器危害参考文档 基本概念 锁存器(latch):、在电平信号的作用下改变状态,是一种电平触发的存储单元。锁存器的数据存储动作取决于输入使能信号的电平值,仅当…

【数字电路】D锁存器和D触发器的区别

我们在数字电路中经常使用到D触发器,有时候还会听到D锁存器这种电路,那么这两种电路到底有什么关系?又存在什么区别? 方法一:功能的文字叙述 1)D锁存器: 功能分析文字描述:C 0时&a…

SR锁存器与D锁存器设计与建模

⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 🔥文章和代码已归档至【Github仓库&#xf…

【基础知识】~ 锁存器/触发器、寄存器

本章目录: 1. 锁存器/触发器1.1 概念1.2 性质1.3 分类1.4 二者区别1.5 为什么锁存器不好?1.6 小问题,大智慧 2. 寄存器3. 基本SR锁存器3.1 符号表示的意义3.2 由与非门构成的3.3 由或非门构成的 4 门控SR锁存器4.1 电平触发4.1.1 带异步清零和…

数字电路:常见的锁存器浅析

转载自: 数字电路:常见的锁存器浅析(S-R,S‘-R‘,使能端的S-R,D)_李嘉祎的博客-CSDN博客_锁存器 转载是怕万一博主删除,侵删。 锁存器是数字电路中基础的基础,本文将展现出常用的锁存器类型&a…

锁存器、D触发器、寄存器理解

1、锁存器 锁存器对脉冲的电平敏感,也就是电平触发,在有效的电平下,锁存器处于使能状态,输出随着输入发生变化,此时它不锁存信号,就像一个缓冲器一样;在锁存器没有使能时,则数据被锁…

锁存器、触发器、寄存器

1.锁存器(Latch) 1.1.SR锁存器(基本锁存器) 由两个或非门或者两个与非门组成,电路结构、图形符号和特性表如下所示。 此时,输出状态(次态)与输入状态、锁存器初态都有关。 1.2.电平触…

【计算机组成原理】寄存器的本质——锁存器

一.逻辑门电路 逻辑门的与门知道吧 逻辑门的或门听说过吧 逻辑门中的非门简单吧 基础知识就复习到这里(—...—) 二.AND—OR锁存器 如果把与门的其中一个输入与输出连接在一起会发生什么? 我们可以观察到,激活状态后无论IN1输入…

数字电路基础---锁存器

目录 锁存器 1、简介 2、实验任务 3、程序设计 3.1、缺少 else 分支的锁存器代码 3.2、补齐 else 分支 3.3、缺少 default 的 case 语句的锁存器代码 3.3、补齐 default 的 case 语句 4、本章总结 锁存器 锁存器(俗称 Latch)是数字电路中的一种…

硬件基础——锁存器

双稳态 在电子电路中。双稳态电路的特点是:在没有外来触发信号的作用下,电路始终处于原来的稳定状态。在外加输入触发信号作用下,双稳态电路从一个稳定状态翻转到另一个稳定状态。由于它具有两个稳定状态,故称为双稳态电路。双稳态…