分析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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
python中assert用法实例分析
Apr 30 Python
Python做简单的字符串匹配详解
Mar 21 Python
python队列queue模块详解
Apr 27 Python
python使用tornado实现简单爬虫
Jul 28 Python
Python中的 is 和 == 以及字符串驻留机制详解
Jun 28 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
python模块导入的方法
Oct 24 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
python实现程序重启和系统重启方式
Apr 16 Python
Python中的全局变量如何理解
Jun 04 Python
python lambda的使用详解
Feb 26 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中常见的mongodb查询操作
2013/06/20 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python批量修改文件名的实现代码
2014/09/01 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
python实现k-means聚类算法
2018/02/23 Python
flask中过滤器的使用详解
2018/08/01 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
人事专员岗位说明书
2014/07/29 职场文书
安全环保演讲稿
2014/08/28 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
综治维稳工作汇报
2014/10/27 职场文书
先进工作者申报材料
2014/12/23 职场文书
销售开票员岗位职责
2015/04/15 职场文书
决心书格式范文
2015/09/23 职场文书
导游词之桂林山水
2019/09/20 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android