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中使用pyhook实现键盘监控的例子
Jul 18 Python
详解在Python中处理异常的教程
May 24 Python
Python编写一个闹钟功能
Jul 11 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
Python实现注册、登录小程序功能
Sep 21 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
如何运行带参数的python脚本
Nov 15 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
jupyter实现重新加载模块
Apr 16 Python
Matplotlib配色之Colormap详解
Jan 05 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
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
python文件编写好后如何实践
2020/07/07 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
迎八一活动主题
2014/01/31 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
升学宴学生答谢词
2015/01/05 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
撤诉申请怎么写
2015/05/19 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
创业计划书之熟食店
2019/10/16 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python