分析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使用webbrowser浏览指定url的方法
Apr 04 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
python爬取亚马逊书籍信息代码分享
Dec 09 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
python程序变成软件的实操方法
Jun 24 Python
Django密码系统实现过程详解
Jul 19 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
python爬虫爬取某网站视频的示例代码
Feb 20 Python
整理Python中常用的conda命令操作
Jun 15 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/01/22 PHP
php文件读取方法实例分析
2015/06/20 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
JS生成随机字符串的多种方法
2014/06/10 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
微信小程序 九宫格实例代码
2017/01/21 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
Angular实现响应式表单
2017/08/04 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
python drf各类组件的用法和作用
2021/01/12 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
上海期货面试题
2014/01/31 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
一些Solaris面试题
2015/12/22 面试题
英语系本科生个人求职信
2013/09/21 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
优秀求职信范文分享
2014/01/26 职场文书
中学家长会邀请函
2014/02/03 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书