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 实现归并排序算法
Jun 05 Python
Python中optparse模块使用浅析
Jan 01 Python
Python实现LRU算法的2种方法
Jun 24 Python
python脚本内运行linux命令的方法
Jul 02 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
如何在Windows中安装多个python解释器
Jun 16 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
Python 字典一个键对应多个值的方法
Sep 29 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之第三天
2006/10/09 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
详解Typescript里的This的使用方法
2021/01/08 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
启动Atom并运行python文件的步骤
2018/11/09 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
编辑求职信样本
2013/12/16 职场文书
村官学习十八大感想
2014/01/15 职场文书
运动会通讯稿400字
2014/01/28 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
APP界面设计技巧和注意事项
2022/04/29 杂记