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

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

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

 

 

 

 

 

 

 

 

 

 

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

转载于:https://www.cnblogs.com/zfyouxi/p/4841987.html

你可能感兴趣的文章
6、字符串
查看>>
算法训练 出现次数最多的整数
查看>>
简单的贪吃蛇的另一种做法
查看>>
JAR打包和运行
查看>>
HTML5 基础知识(四)
查看>>
Java学习笔记之Scanner报错java.util.NoSuchElementException
查看>>
【排序】合并排序(2路归并)
查看>>
C#开机自动启动程序代码
查看>>
P2P平台的"我要借款"功能,是否需要上传借款人的相关资料
查看>>
大学生活--第5篇--物以类聚,人以群分
查看>>
网站运营的4点经验
查看>>
使用Pyramid搭建Web Server入门介绍
查看>>
剑指offer | 最小的K个数
查看>>
C++ | RAII 机制
查看>>
html5学习笔记(html5的基本构成)
查看>>
Codeforces 862C 异或!
查看>>
sscanf的应用
查看>>
第二篇 Python初识别及变量名定义规范
查看>>
springMVC全局Exception异常处理SimpleMappingExceptionResolver
查看>>
Apollo 1 融合 Spring 的三个入口
查看>>