Python高级特性切片(Slice)操作详解


Posted in Python onSeptember 27, 2018

切片操作首先支持下标索引,通过[ N:M :P ]操作
索引正向从0开始,逆向从-1开始
N:切片开始位置
M:切片结束位置(不包含)
P:指定切片步长,为正数表示按照指定步长正向切片,为负数反之

一、列表的切片操作

列表切片后还是列表
通过列表生成器定义一个列表:

In [2]: a = [n for n in range(10)]
In [3]: a
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

通过切片浅拷贝对象:

In [4]: a[:]
Out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [5]: a[::]
Out[5]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

指定开始切片位置:

In [6]: a[1:]
Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [7]: a[1::]
Out[7]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

指定切片范围(不包含结束):

In [8]: a[1:5]
Out[8]: [1, 2, 3, 4]
In [9]: a[2:6:]
Out[9]: [2, 3, 4, 5]

指定步长切片:

In [10]: a[0:9:3]
Out[10]: [0, 3, 6]
In [11]: a[0:9:2]
Out[11]: [0, 2, 4, 6, 8]

指定步长方向:

In [12]: a[9:0:-2]
Out[12]: [9, 7, 5, 3, 1]
In [13]: a[9:0:-3]
Out[13]: [9, 6, 3]

通过切片逆置列表:

In [15]: a[::-1]
Out[15]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

二、元组切片

元组切片后还是元组,用法和列表切片一样,但是一点需要注意

In [17]: b = (n for n in range(5))
In [18]: b
Out[18]: <generator object <genexpr> at 0x00000206445ED780>
# 推到式通过小括号()以后就不是元组了,是生成器的另一种形式
In [19]: b = tuple(n for n in range(5))
In [20]: b
Out[20]: (0, 1, 2, 3, 4)
In [21]: b[::-1]
Out[21]: (4, 3, 2, 1, 0)
In [22]: b[0:2:]
Out[22]: (0, 1)

三、字符串切片

字符串切片之后还是字符串,用法也和列表切片一致

In [23]: c = "hello,world"
In [24]: c[::-1]
Out[24]: 'dlrow,olleh'
In [25]: c[0:5:]
Out[25]: 'hello'

Python 相关文章推荐
Python中针对函数处理的特殊方法
Mar 06 Python
Python 不同对象比较大小示例探讨
Aug 21 Python
Python常用内置模块之xml模块(详解)
May 23 Python
Python实现注册登录系统
Aug 08 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
Python paramiko模块的使用示例
Apr 11 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
Python3爬虫学习入门教程
Dec 11 Python
详解Python 切片语法
Jun 10 Python
基于Python中isfile函数和isdir函数使用详解
Nov 29 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 #Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 #Python
APIStar:一个专为Python3设计的API框架
Sep 26 #Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 #Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 #Python
Linux下python3.6.1环境配置教程
Sep 26 #Python
简单谈谈python基本数据类型
Sep 26 #Python
You might like
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
python3 字符串知识点学习笔记
2020/02/08 Python
Python如何访问字符串中的值
2020/02/09 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
班级德育工作实施方案
2014/02/21 职场文书
企业授权委托书范本
2014/04/02 职场文书
核心价值观演讲稿
2014/05/13 职场文书
加油口号大全
2014/06/13 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
铅球加油稿100字
2014/09/26 职场文书
公司离职证明标准样本
2014/10/05 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
高质量“欢迎词”
2019/04/03 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
Python 视频画质增强
2022/04/28 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript