分析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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
Python实现的石头剪子布代码分享
Aug 22 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
详解Python自建logging模块
Jan 29 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
实时获取Python的print输出流方法
Jan 07 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
python实现批量注册网站用户的示例
Feb 22 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
python 使用三引号时容易犯的小错误
Oct 21 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网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
关于Python形参打包与解包小技巧分享
2019/08/24 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
Exception类的常用方法
2012/06/16 面试题
父母寄语大全
2014/04/12 职场文书
倡议书范文
2014/04/16 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
医院领导班子整改方案
2014/10/01 职场文书
监考失职检讨书
2015/01/26 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
68句权威创业名言
2019/08/26 职场文书