博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
相关Python分割操作
阅读量:6973 次
发布时间:2019-06-27

本文共 851 字,大约阅读时间需要 2 分钟。

刚论坛python文本  攻克了一个关于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后面的元素,依照从左向右的顺序是找不到第一个元素的。

 

 

 

 

 

 

 

 

 

 

版权声明:本文博主原创文章。博客,未经同意不得转载。

你可能感兴趣的文章
diff corp's HBA and multipath
查看>>
页面平滑滚动
查看>>
UIImagePickController打开闪光模式拍照瞬间锁屏crash
查看>>
nodejs项目部署到腾讯云详细步骤
查看>>
PHP 代码调试跟踪工具 Ytrace
查看>>
Go并发调用的超时处理
查看>>
Flutter初探
查看>>
python发送邮件
查看>>
拼?还是熬?一次发散且零散的创业心得分享
查看>>
Android控制颜色透明度百分比的方法
查看>>
开发者人手一个的chrome插件——掘金
查看>>
数据库读写分离,主从同步实现方法
查看>>
好用的Middleware实现
查看>>
如何可视化地查看 Linux 系统磁盘使用情况?
查看>>
Fiddler 抓包工具总结
查看>>
学习hadoop需要什么基础
查看>>
Linux上安装常用软件 & window 管理Linux工具
查看>>
iview-admin运行步骤
查看>>
原生表格组件--GridManager
查看>>
面试阿里,我还是挂在了第四轮……
查看>>