28. 列表的切片取值

文章目录

  • 28. 列表的切片取值
    • 1. 列表的切片
    • 2. 切片的语法
    • 3. 切片取值示例
      • 3.1 步长为1的切片取值
      • 3.2 步长为3的切片取值
      • 3.3 负索引取值

1. 列表的切片

索引取值可以从列表中取出1个元素。

如果要从列表中取出多个元素,可以用列表的切片方法。

列表的切片语法和字符串的切片语法相同。

2. 切片的语法

【语法】

列表[star:end:step]

列表[开始字符:结束字符:步长]

列表切片取值由4部分构成:

  1. 列表名。

  2. 英文中括号。

  3. 3个参数。

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

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

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

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

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

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

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

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

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

3. 切片取值示例

3.1 步长为1的切片取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[0:1:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[0:1:1]), '\n')print(str_list[1:4:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[1:4:1]), '\n')print(str_list[2:5:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[2:5:1]), '\n')

【终端输出】

['当归']
列表切片取值得到的数据类型仍然是列表: <class 'list'> ['人参', '黄芪', '红枣']
列表切片取值得到的数据类型仍然是列表: <class 'list'> ['黄芪', '红枣', '枸杞']
列表切片取值得到的数据类型仍然是列表: <class 'list'>

【2:5:1代码解析】

start=2即开始元素的索引为2,索引2对应列表的第3个元素,即元素黄芪

end=5即结束元素的索引为5,索引5对应列表的第6个元素;上述列表只有5个元素,没有第6个元素,因此取值范围为整个列表。

step=1即步长为1,即元素间隔为1,间隔为1表示可以连续取值。

注意切片的语法:含前不含后,即含开始元素,不含结束元素。

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

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[0:1])print(str_list[1:4])print(str_list[2:5])

【终端输出】

['当归']
['人参', '黄芪', '红枣']
['黄芪', '红枣', '枸杞']

3.2 步长为3的切片取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[0:4:3])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[0:1]), '\n')

【终端输出】

['当归', '红枣']
列表切片取值得到的数据类型仍然是列表: <class 'list'>

【0:4:3代码解析】

start=0即开始元素的索引为0,索引0对应列表的第1个元素,即元素当归

end=4即结束元素的索引为4,索引4对应列表的第5个元素,即元素枸杞

注意切片的语法:含前不含后,即含开始元素,不含结束元素枸杞

step=3即步长为3,步长为3可以理解成一次性向前走3步,那就是要跳过2个字符。

注意切片的语法:含前不含后,即含开始元素,不含结束元素。

3.3 负索引取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[-5:-1:3])

【终端输出】

['当归', '红枣']

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[-5:-2:3])

【终端输出】

['当归']
# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[-5:-2:2])

【终端输出】

['当归', '黄芪']
# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[-2:-5:-2])

【终端输出】

['红枣', '人参']

-2到-5是从右往左,从右往左步长应该为负整数,下面的代码为正整数,因此没有取到任何元素。

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]print(str_list[-2:-5:2])

【终端输出】

[]

28. Python 列表的切片取值相关推荐

  1. python列表嵌套字典取值_我的 python 学习历程-Day05 字典/字典的嵌套

    一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...

  2. 27. Python 列表的索引取值

    27. 列表的索引取值 文章目录 27. 列表的索引取值 1. 列表的索引 2. 列表索引取值 3. 列表的正索引取值 4. 列表的负索引取值 5. 用列表本身取值 6. 从嵌套列表中取值 7. 课后 ...

  3. python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型

    (点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...

  4. python列表嵌套字典取值_Python零基础快速入门(五):列表和字典

    第5节课程大纲 一.数据类型:列表 1.什么是列表 2.从列表提取单个元素:偏移量 3.从列表提取多个元素:冒号切片 4.给列表增加/删除元素:append()函数 二.数据类型:字典 1.什么是字典 ...

  5. python权重是什么意思_在python带权重的列表中随机取值的方法

    1 random.choice python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import ...

  6. python 获取唯一值_从Python列表中获取唯一值

    python 获取唯一值 In this article, we will be understanding 3 ways to get unique values from a Python lis ...

  7. python学习-数据类型(列表→创建、取值、大小、长度)

    数据类型 列表(list) 列表的创建 列表的取值(划重点) 列表的大小和长度 列表(list) 列表的创建 列表的创建很简单,使用中括号.理论上中括号里面的值是任意类型,上代码: lst1 = [1 ...

  8. python列表的切片操作

    python 的列表支持切片操作,也让我们能够根据自己的需要切出想要的数据. 列表的切片主要是3个方向的操作: 比如:m = [1,2,3,44,11] 1 正向索引: 方向是从左到右 c = m[1 ...

  9. 列表根据下标取值_Python基础知识点——list(列表)讲解

    前言 定义:列表是一种可变的.有序的数据结构,可以随时添加和删除其中的元素. 列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时.与字符串不同,列表是可变的.你可以直接对原 ...

最新文章

  1. 在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理
  2. 华为创造出5g和鸿蒙,拥有5G专利,开发鸿蒙系统:《华为智慧》复盘成长路总结成功之道...
  3. 每日一皮:昨晚梦见男朋友和别的女人在逛街,梦里我的第一反应就是查源代码......
  4. maven修改运行环境配置
  5. 汇编 cmp_汇编复习
  6. 实用常识 | 推荐一个科研必备计算搜索引擎—WolframAlpha(内含矩阵相关指令操作)
  7. Spring Boot整合批量文件下载功能
  8. 菜鸟启动“快递包装换鸡蛋”活动 史上最低碳的一届“双11”来了
  9. php api json查错,PHP Paypal REST API - 错误:JSON解析错误:意外的EOF
  10. simpleHandleData
  11. 开源Blender 是3D 图形设计
  12. MySQL 存储过程的变量
  13. glassfish启动后不能进入部署页面_使用Jenkins实现项目持续集成部署
  14. Axure RP 8 激活
  15. android mb kb单位转换,存储单位的换算(KB, MB, GB)
  16. matlab做南丁格尔玫瑰图,用VBA做个南丁格尔玫瑰图模板!
  17. dae怎么用草图大师打开,教你su模型导入lumion的方法
  18. 基于django的图书商城管理系统毕业设计源码110938
  19. c++::举例_举例说明:网络
  20. btc、usdt 根据交易hash计算手续费

热门文章

  1. 计算机仿真法 实验报告,计算机仿真氢光谱实验报告(共6篇).doc
  2. 十年学会程序设计(十年磨一剑)
  3. 密码学入门:几种简单的密码
  4. 用java代码实现,使用5升和6升的水杯装出3升的水
  5. 学习VSC配置opencv
  6. Java之每日经典一题:(1)珠穆朗玛峰
  7. 用公众号赚钱,我们还有机会吗
  8. 南大计算机跨专业考研,GitHub - weizhang27/NJU-CS-Kaoyan: 南京大学计算机考研相关问题...
  9. CarSim 2022软件
  10. 电脑突然无法播放html音频,联想电脑突然没声音了音乐也播放不了,这到底是为什么啊...