分析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 相关文章推荐
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
解析Python中的__getitem__专有方法
Jun 27 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Python标准库之collections包的使用教程
Apr 27 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
python取余运算符知识点详解
Jun 27 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
python实现大文本文件分割
Jul 22 Python
python 两个数据库postgresql对比
Oct 21 Python
python代码如何实现余弦相似性计算
Feb 09 Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 Python
opencv 图像加法与图像融合的实现代码
Jul 08 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
php中require和require_once的区别说明
2014/02/27 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python 文件管理实例详解
2015/11/10 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
大学毕业生通用自我评价
2014/01/05 职场文书
社区党建工作方案
2014/06/10 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
股权转让协议范本
2014/12/07 职场文书
爱心捐款感谢信
2015/01/20 职场文书
2015年老干部工作总结
2015/04/23 职场文书
圣诞晚会主持词
2015/07/01 职场文书
总结会主持词
2015/07/02 职场文书
Python IO文件管理的具体使用
2022/03/20 Python