分析python切片原理和方法


Posted in Python onDecember 19, 2017

使用索引获取列表的元素(随机读取)

列表元素支持用索引访问,正向索引从0开始

colors=["red","blue","green"]

colors[0] =="red"

colors[1]=="blue"

同时,也可以使用负向索引(python中有序序列都支持负向索引)

colors[-1]=="green"

       分析python切片原理和方法

列表的切片操作

切片操作不是列表特有的,python中的有序序列都支持切片,如字符串,元组。

切片的返回结果类型和切片对象类型一致,返回的是切片对象的子序列,如:对一个列表切片返回一个列表,

字符串切片返回字符串。

切片生成的子序列元素是源版的拷贝。因此切片是一种浅拷贝。

li=["A","B","C","D"]

格式:  li[start : end : step]    

start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。

t=li[0:3]        ["A","B","C"]        #起点的0索引可以省略,t=li[:3]

t=li[2: ]        ["C","D"]           #省略end,则切到末尾

t=li[1:3]        ["B","C"]

t=li[0:4:2]       ["A","C"]       #从li[0]到li[3],设定步长为2。          

如何确定start和end,他们是什么关系?

在step的符号一定的情况下,start和end可以混合使用正向和反向索引,无论怎样,你都要保证

start和end之间有和step方向一致元素 间隔,否则会切出空列表

t=li[0:2]

t=li[0:-2]

t=li[-4:-2]

t=li[-4:2]

上面的结果都是一样的;t为["A","B"]

分析python切片原理和方法

t=li[-1:-3:-1]

t=li[-1:1:-1]

t=li[3:1:-1]

t=li[3:-3:-1]

上面的结果都是一样的;t为["D","C"]

分析python切片原理和方法

t=li[-1:-3]

t=li[-1:1]

t=li[3:1]

t=li[3:-3]

都切出空列表

       分析python切片原理和方法      

同时,step的正负决定了切片结果的元素采集的先后

省略start  和 end表示以原列表全部为目标

t=li[::-1]     t--->["C","B","A"]     #反向切,切出全部

t=li[:]        t--->["A","B","C","D"]   #正向切全部

Python 相关文章推荐
Python中捕捉详细异常信息的代码示例
Sep 18 Python
关于Django外键赋值问题详解
Aug 13 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
浅析PHP与Python进行数据交互
May 15 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
python判断自身是否正在运行的方法
Aug 08 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
keras模型保存为tensorflow的二进制模型方式
May 25 Python
Python多线程的退出控制实现
Aug 10 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
python实现redis三种cas事务操作
Dec 19 #Python
Python2/3中urllib库的一些常见用法
Dec 19 #Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 #Python
Python random模块用法解析及简单示例
Dec 18 #Python
Python方法的延迟加载的示例代码
Dec 18 #Python
Python字符串拼接六种方法介绍
Dec 18 #Python
Python Socket使用实例
Dec 18 #Python
You might like
php 动态执行带有参数的类方法
2009/04/10 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
php实现求相对时间函数
2015/06/15 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
python 实现数字字符串左侧补零的方法
2018/12/04 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
python实现学生管理系统开发
2020/07/24 Python
详解Python 中的容器 collections
2020/08/17 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
产品销售员岗位职责
2013/12/18 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
大学活动总结格式
2014/04/29 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
运动会广播稿200字
2014/10/18 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android