Python-切片
2015-08-31 09:58
525 查看
Python提供了切片(Slice)操作符,能大大简化这种操作。
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
如果第一个索引是
类似的,既然Python支持
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
字符串
在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
>>> L[0:3] ['Michael', 'Sarah', 'Tracy']
L[0:3]表示,从索引
0开始取,直到索引
3为止,但不包括索引
3。即索引
0,
1,
2,正好是3个元素。
如果第一个索引是
0,还可以省略:
>>> L[:3] ['Michael', 'Sarah', 'Tracy']
类似的,既然Python支持
L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:
>>> L[-2:] ['Bob', 'Jack'] >>> L[-2:-1] ['Bob']
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
>>> (0, 1, 2, 3, 4, 5)[:3] (0, 1, 2)
字符串
'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3] 'ABC' >>> 'ABCDEFG'[::2] 'ACEG'
在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。
小结
有了切片操作,很多地方循环就不再需要了。Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。相关文章推荐
- Python, pitfall of creating 2d list, [foo*3]*3
- windows和ubuntu下使用python写备份脚本
- Windows下安装python2.7及科学计算套装
- windows下python配置numpy、matplotlib、scipy
- Python 列表学习与使用
- 创建Python虚拟环境---Virtualenv
- Python2.7获取QQ空间全部好友
- Python源码剖析笔记6-函数机制
- 实例Python处理XML文件的方法
- Google提供的Python学习课程
- 【python】math模块的使用
- python 闭包(closure)
- 【python】判断年份是否为闰年
- map函数
- python中多进程的一般建议
- 2015/8/30 Python基础(4):序列操作符
- multiprocessing在python中的高级应用-托管对象
- python 小细节(01)
- Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
- python关于爬虫编码备忘