| |
|
开发:
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,正数表示取值方向为从左往右,负数则表示取值方向为从右往左 数据的取值方向非常重要!数据的取值方向非常重要!数据的取值方向非常重要!
正向的切片还是比较好理解的,网上教程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] ? ?基本思路就是这样,如果还有不理解的,自己写个测试函数,多练几遍就懂啦! 最后在感慨下:这语法糖真的甜~~~!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |