相关Python分割操作

本文深入解析Python列表切片机制,详细解释了常见问题的产生原因,并通过实例展示了如何正确使用列表切片操作。主要内容包括Python列表切片的基础知识、常见问题及其解决方案,帮助开发者更高效地进行Python编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚论坛python文本 http://bbs.byr.cn/#!article/Python/1693 攻克了一个关于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后面的元素,依照从左向右的顺序是找不到第一个元素的。

 

 

 

 

 

 

 

 


 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值