分析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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
python海龟绘图实例教程
Jul 24 Python
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 Python
python实现linux下抓包并存库功能
Jul 18 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
Python处理mysql特殊字符的问题
Mar 02 Python
如何更换python默认编辑器的背景色
Aug 10 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
如何将json数据转换为python数据
Sep 04 Python
Python入门基础之数字字符串与列表
Feb 01 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+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
js function定义函数使用心得
2010/04/15 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
jquery动态添加option示例
2013/12/30 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python设计模式之代理模式实例
2014/04/26 Python
跟老齐学Python之折腾一下目录
2014/10/24 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python 多维List创建的问题小结
2019/01/18 Python
Python 占位符的使用方法详解
2019/07/10 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
2015年党建工作目标责任书
2015/05/08 职场文书
身份证丢失证明
2015/06/19 职场文书
学校财务管理制度
2015/08/04 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js