IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python语法糖之切片 object[start_index:end_index:step] -> 正文阅读

[Python知识库]python语法糖之切片 object[start_index:end_index:step]

在撸代码中,我们经常会遇到需要对list或者str类型的对象进行取值操作,如果是只取某一个值,那难不倒大家,直接list[i] (i为索引下标)就好了,但如果要取某一部分的数据,这该咋整???

来来来,走过路过,千万不要错过,语法糖之切片了解一下?经鉴定,这语法糖符合真香定律~~~

举个栗子:

有个 list1 = [1, 2, 3, 4, 5, 6]? 要得到[2, 4, 6] 咋整?其他语言多数是通过循环取值后再赋值的方式实现的(那些后来悄咪咪加了切片概念的语法请绕道~~~如:"卷王"java中Arrays里面增加的copyOfRange(被切片的数组, begin_index, end_index),又或者C# 9 版本默默添加的切片等)

python语法自带了一个很香的语法糖——切片!上题只需要一步就搞定了!

?当然,题做出来不是最重要的,重要的是理解下切片是个什么东东~~~

切片的标准表达式为 object[start_index:end_index:step]遵循左闭右开原则(即:start_index为闭区间,end_index为开区间)

start_index :开始取值的位置,可空,默认为索引 0(即数据起点)

end_index :结束取值的位置,可空,默认为索引 len(obj)(即数据终点)

step :步长,可空,默认为1,正数表示取值方向为从左往右,负数则表示取值方向为从右往左

数据的取值方向非常重要!

数据的取值方向非常重要!

数据的取值方向非常重要!

起点终点
list1123456
正索引012345
负索引-6-5-4-3-2-1
取值方向:
step为正数:从左往右→→→
step为负数:←←←从右往左

正向的切片还是比较好理解的,网上教程N多,我就不在锦上添花了,只想把最难理解的反向切片拎出来做个记录——

还是举个栗子:

list1 = [1, 2, 3, 4, 5, 6]

print(list1[1:-6:-1])的结果为[2]

这个结果怎么来的呢?分布化解——

第一步:list1[1::-1]? 结果为:[2, 1]? ——? 表示从索引为1的地方开始,从右往左取值

第二步:list1[:-6:-1] 结果为:[6, 5, 4, 3, 2]? ——? 表示从右往左取值,直到-6位置结束,但不包含-6位置对应的value [1]

第三步:list1[1:-6:-1] 结果为:[2]? ——? 表示把第一步和第二步的结果求交集,得到公共值[2]

?

?基本思路就是这样,如果还有不理解的,自己写个测试函数,多练几遍就懂啦!

最后在感慨下:这语法糖真的甜~~~!!!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:47:30  更:2022-07-20 18:48:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:07:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码