切片简介

取一个strlisttuple的部分元素是非常常见的操作

  • 切片 译自英文单词slice,指的是一部分
  • 切片 根据 步长step** **从原序列中取出一部分元素组成新序列
  • 切片适用于 字符串、列表、元组

    切片的格式

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

    包含开始索引, 不包含结束索引

需求

  1. string = '中华人民共和国欢迎您'
  2. 获取前三个文字

代码

  1. string = '中华人民共和国欢迎您'
  2. # 获取前三个文字
  3. newStr = string[0:3:1]

步长默认为1,可以省略,如下

  1. newStr = string[0:3]

开始索引为0,可以省略,如下

  1. newStr = string[:3]

如果到末尾结束,可以省略结束索引,例如取后三个字“欢迎您

  1. newStr = string[7:]

索引的正序和倒序

索引分为正序和倒序

  • 正序:从左向右,0开始
  • 倒序:从右向左,-1开始

slice切片 - 图1

需求

  1. ss = "中华人名共和国欢迎您"
  2. 把字符串中从第一个到倒数第二个(不包含)打印出来

代码

  1. ss = "中华人名共和国欢迎您"
  2. # 把字符串中从第一个到倒数第二个(不包含)打印出来
  3. # 开始位置:正序 结束位置:倒序
  4. print(ss[:-2])

步长为负数

步长也可以为负数,代表逆序切片

需求

  1. ss = "中华人名共和国欢迎您"
  2. 把从角标为27(包含)倒序打印出来

代码

  1. ss = "中华人民共和国欢迎您"
  2. # 把从角标为2到7(包含)倒序打印出来
  3. # 欢国和共名人
  4. print(ss[7:1:-1])

:::warning 注意:步长为负,索引也应该逆序索引 :::