分析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使用PyGame模块播放声音的方法
May 20 Python
python迭代器与生成器详解
Mar 10 Python
Django返回json数据用法示例
Sep 18 Python
Python向日志输出中添加上下文信息
May 24 Python
python实现xlsx文件分析详解
Jan 02 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
如何通过python实现全排列
Feb 11 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
Feb 27 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
再次研究下cache_lite
2007/02/14 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Django操作session 的方法
2020/03/09 Python
市场营销专业个人自荐信格式
2013/09/21 职场文书
医院办公室主任职责
2013/12/29 职场文书
村官学习十八大感想
2014/01/15 职场文书
同事吵架检讨书
2014/02/05 职场文书
校运会入场式解说词
2014/02/10 职场文书
小学生作文批改评语
2014/12/25 职场文书