有关Python的分片操作
2014-07-17 13:14
281 查看
刚在论坛python版 http://bbs.byr.cn/#!article/Python/1693
解决了一个关于python分片的问题。
问题:
为什么会出现返回[ ]? 分片的结果为什么会是这样?
原因:
经常看到[a:b]这样对list的分片操作。 其实python的分片是有三块内容的 如:[a:b:c] 其中a,b,c都分别可以省略。
不过c默认是1, 如果你不显式的设定它为负数,它之会从前往后(从左往右)遍历。
比如[-2:]
在索引-2的位置上是 5,按照默认顺序从左往右,因此结果是从5往后。结果就会输出 ['5' , '6']
如果c为负,则顺序相反,为从右到左,如[-2::-1]即为 ['5', '4', '3', '2', '1']
因此根据索引只是找到位置,之后按照顺序方向遍历到规定的位置即可。
注:
遍历过程中,第二个索引(b)所在的位置一定是在第一个元素(a)按 顺序方向的后面,如果是[-1:-2]这样的,按
照从左到右找不到则也会返回空list。
因此任何[a:0] 的都是空list, 要么是因为 索引0就是第一个,还不能算 (分片操作包括[ ]左边不包括右边)返回空,
要么是因为索引0后面的元素,按照从左向右的顺序是找不到第一个元素的。
解决了一个关于python分片的问题。
问题:
uesrList = ['1','2','3','4','5','6'] subList1 = uesrList[2:5] subList2 = uesrList[-3:-1] subList3 = uesrList[0:-2] subList4 = uesrList[0:-3] subList5 = uesrList[-3:0] print(subList1) print(subList2) print(subList3) print(subList4) print(subList5) #输出 ['3', '4', '5'] ['4', '5'] ['1', '2', '3', '4'] ['1', '2', '3'] []
为什么会出现返回[ ]? 分片的结果为什么会是这样?
原因:
经常看到[a:b]这样对list的分片操作。 其实python的分片是有三块内容的 如:[a:b:c] 其中a,b,c都分别可以省略。
不过c默认是1, 如果你不显式的设定它为负数,它之会从前往后(从左往右)遍历。
比如[-2:]
在索引-2的位置上是 5,按照默认顺序从左往右,因此结果是从5往后。结果就会输出 ['5' , '6']
如果c为负,则顺序相反,为从右到左,如[-2::-1]即为 ['5', '4', '3', '2', '1']
因此根据索引只是找到位置,之后按照顺序方向遍历到规定的位置即可。
注:
遍历过程中,第二个索引(b)所在的位置一定是在第一个元素(a)按 顺序方向的后面,如果是[-1:-2]这样的,按
照从左到右找不到则也会返回空list。
因此任何[a:0] 的都是空list, 要么是因为 索引0就是第一个,还不能算 (分片操作包括[ ]左边不包括右边)返回空,
要么是因为索引0后面的元素,按照从左向右的顺序是找不到第一个元素的。
相关文章推荐
- arcgis python 图形有关操作
- Python之分片操作
- python中的list如何进行相减操作或者将list分片
- Python中的列表(添加二元列表、连接、查找、排序、反序、赋值、删除、分片操作、负索引、)
- Python学习笔记(八)——有关文件的操作
- golang和python有关字符串操作的对应方法
- Python中有关文件的操作
- python中的list如何进行相减操作或者将list分片
- Python 有关文件的操作示例
- python 有关时间操作的一些代码
- Python: 利用序列的分片操作逆序字符串
- python赋值总结和分片操作
- Python字符串分片操作
- python中的list如何进行相减操作或者将list分片
- python中有关涉及list操作的集合
- 手把手教你学python3第八讲(OS模块有关文件系统的函数操作)
- python 与时间有关的操作
- 利用 Python 做批量文件操作的任务
- 利用 Python 做批量文件操作的任务
- 一些有关C++语言中的bit操作