分析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 生成不重复的随机数的代码
May 15 Python
c++生成dll使用python调用dll的方法
Jan 20 Python
老生常谈python之鸭子类和多态
Jun 13 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Flask之flask-session的具体使用
Jul 26 Python
Python使用gRPC传输协议教程
Oct 16 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Python何绘制带有背景色块的折线图
Apr 23 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
一个ubbcode的函数,速度很快.
2006/10/09 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
javascript 精粹笔记
2010/05/09 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
python 图片验证码代码分享
2012/07/04 Python
构建Python包的五个简单准则简介
2015/06/15 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
简单谈谈python的反射机制
2016/06/28 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
python 读取数据库并绘图的实例
2019/12/03 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
Python 如何在字符串中插入变量
2020/08/01 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
windows系统搭建WEB服务器详细教程
2022/08/05 Servers