分析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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python中文件操作简明介绍
Apr 13 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
python解析基于xml格式的日志文件
Feb 25 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
python写入文件自动换行问题的方法
Jul 05 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
Python流程控制常用工具详解
Feb 24 Python
如何搭建pytorch环境的方法步骤
May 06 Python
如何在python中处理配置文件代码实例
Sep 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
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
php数组和链表的区别总结
2019/09/20 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
简单的三步vuex入门
2018/05/20 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
基于python实现操作git过程代码解析
2020/07/27 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
2014年小学元旦活动方案
2014/02/12 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
个人委托函范文
2015/01/29 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技