分析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中字符串前面加r的作用
Jun 04 Python
Python的requests网络编程包使用教程
Jul 11 Python
Python pass详细介绍及实例代码
Nov 24 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
Django 表单模型选择框如何使用分组
May 16 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
Python3常见函数range()用法详解
Dec 30 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
Python pickle模块常用方法代码实例
Oct 10 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调用mysql数据 dbclass类
2011/05/07 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP多线程类及用法实例
2014/12/03 PHP
php简单实现MVC
2015/02/05 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
vue实现拖拽效果
2019/12/23 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
python实现的防DDoS脚本
2011/02/08 Python
python实现的解析crontab配置文件代码
2014/06/30 Python
python进阶教程之文本文件的读取和写入
2014/08/29 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
Django实现文件上传和下载功能
2019/10/06 Python
在django中自定义字段Field详解
2019/12/03 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
50道外企软件测试面试题
2014/08/18 面试题
本科生的职业生涯规划范文
2014/01/09 职场文书
党员承诺书内容
2014/03/26 职场文书
毕业生就业协议书
2014/04/11 职场文书
公休请假条
2014/04/11 职场文书
教师个人总结范文
2015/02/11 职场文书
2015年测量员工作总结
2015/05/23 职场文书
爱国影片观后感
2015/06/18 职场文书
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技