28. Python 列表的切片取值
28. 列表的切片取值
文章目录
- 28. 列表的切片取值
- 1. 列表的切片
- 2. 切片的语法
- 3. 切片取值示例
- 3.1 步长为1的切片取值
- 3.2 步长为3的切片取值
- 3.3 负索引取值
1. 列表的切片
索引取值可以从列表中取出1个元素。
如果要从列表中取出多个元素,可以用列表的切片方法。
列表的切片语法和字符串的切片语法相同。
2. 切片的语法
【语法】
列表[star:end:step]
列表[开始字符:结束字符:步长]
列表切片取值由4部分构成:
列表名。
英文中括号。
3个参数。
3个参数之间用英文冒号分隔。
参数start:表示要取的第1元素的索引(包括该元素),如果不指定,则默认为
0
。参数end:表示要取的最后1个元素的索引(不包括该元素),如果不指定,则默认为列表的长度。
参数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 列表的切片取值相关推荐
- python列表嵌套字典取值_我的 python 学习历程-Day05 字典/字典的嵌套
一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...
- 27. Python 列表的索引取值
27. 列表的索引取值 文章目录 27. 列表的索引取值 1. 列表的索引 2. 列表索引取值 3. 列表的正索引取值 4. 列表的负索引取值 5. 用列表本身取值 6. 从嵌套列表中取值 7. 课后 ...
- python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型
(点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...
- python列表嵌套字典取值_Python零基础快速入门(五):列表和字典
第5节课程大纲 一.数据类型:列表 1.什么是列表 2.从列表提取单个元素:偏移量 3.从列表提取多个元素:冒号切片 4.给列表增加/删除元素:append()函数 二.数据类型:字典 1.什么是字典 ...
- python权重是什么意思_在python带权重的列表中随机取值的方法
1 random.choice python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import ...
- python 获取唯一值_从Python列表中获取唯一值
python 获取唯一值 In this article, we will be understanding 3 ways to get unique values from a Python lis ...
- python学习-数据类型(列表→创建、取值、大小、长度)
数据类型 列表(list) 列表的创建 列表的取值(划重点) 列表的大小和长度 列表(list) 列表的创建 列表的创建很简单,使用中括号.理论上中括号里面的值是任意类型,上代码: lst1 = [1 ...
- python列表的切片操作
python 的列表支持切片操作,也让我们能够根据自己的需要切出想要的数据. 列表的切片主要是3个方向的操作: 比如:m = [1,2,3,44,11] 1 正向索引: 方向是从左到右 c = m[1 ...
- 列表根据下标取值_Python基础知识点——list(列表)讲解
前言 定义:列表是一种可变的.有序的数据结构,可以随时添加和删除其中的元素. 列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时.与字符串不同,列表是可变的.你可以直接对原 ...
最新文章
- 在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理
- 华为创造出5g和鸿蒙,拥有5G专利,开发鸿蒙系统:《华为智慧》复盘成长路总结成功之道...
- 每日一皮:昨晚梦见男朋友和别的女人在逛街,梦里我的第一反应就是查源代码......
- maven修改运行环境配置
- 汇编 cmp_汇编复习
- 实用常识 | 推荐一个科研必备计算搜索引擎—WolframAlpha(内含矩阵相关指令操作)
- Spring Boot整合批量文件下载功能
- 菜鸟启动“快递包装换鸡蛋”活动 史上最低碳的一届“双11”来了
- php api json查错,PHP Paypal REST API - 错误:JSON解析错误:意外的EOF
- simpleHandleData
- 开源Blender 是3D 图形设计
- MySQL 存储过程的变量
- glassfish启动后不能进入部署页面_使用Jenkins实现项目持续集成部署
- Axure RP 8 激活
- android mb kb单位转换,存储单位的换算(KB, MB, GB)
- matlab做南丁格尔玫瑰图,用VBA做个南丁格尔玫瑰图模板!
- dae怎么用草图大师打开,教你su模型导入lumion的方法
- 基于django的图书商城管理系统毕业设计源码110938
- c++::举例_举例说明:网络
- btc、usdt 根据交易hash计算手续费
热门文章
- 计算机仿真法 实验报告,计算机仿真氢光谱实验报告(共6篇).doc
- 十年学会程序设计(十年磨一剑)
- 密码学入门:几种简单的密码
- 用java代码实现,使用5升和6升的水杯装出3升的水
- 学习VSC配置opencv
- Java之每日经典一题:(1)珠穆朗玛峰
- 用公众号赚钱,我们还有机会吗
- 南大计算机跨专业考研,GitHub - weizhang27/NJU-CS-Kaoyan: 南京大学计算机考研相关问题...
- CarSim 2022软件
- 电脑突然无法播放html音频,联想电脑突然没声音了音乐也播放不了,这到底是为什么啊...