python 列表切片


列表切片是python语言独有的特征,大大方便了我们的编码。

首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数。

insert,get,set 操作均可传入负数下标

当传入的下标是负数时,python会自动的加上一个length,但只会加一次,也就是说如果这个负数超过了 - length ,那么就会报错了

list 的负数下标

1 a = [1, 2, 3, 4, 5]
2 # index = -1 + 5 = 4
3 # a[-1] == a[4]
4 print(a[-1])    # 5

当负数下标超过length

1 a = [1, 2, 3, 4, 5]
2 # index = -6 + 5 = -1
3 print(a[-6])    # IndexError: list index out of range

 

接下来是切片

list 的下标可以接收三个参数,分别是 beg (起始下标), end (结束下标) , step(步长)more,用冒号分隔

当 step > 0 :   beg 默认值是0,  end 默认值是  最末之后

当 step < 0 :  beg 默认值是length-1,  end默认值是  开头之前

当 step = 0: 报错

step 默认值是1

 1 a = [1, 2, 3, 4, 5]
 2 # step 默认值 1 ,当 step > 0,   beg 默认值 0 ,end 默认值 最末之后
 3 print(a[:])  # [1, 2, 3, 4, 5]
 4 print(a[::])  # [1, 2, 3, 4, 5]
 5 print(a[0:5:1])  # [1, 2, 3, 4, 5]
 6 print(a[0:1000:1])  # [1, 2, 3, 4, 5]
 7 
 8 # 当 step < 0,  beg 默认值 length-1 ,end 默认值 开头之前
 9 print(a[::-1])  # [5, 4, 3, 2, 1]
10 print(a[len(a) - 1:-100:-1])  # [5, 4, 3, 2, 1]

切片产生的是列表的一个副本:

1 a = [1, 2, 3, 4, 5]
2 b = a[1:]
3 print(a)  # [1, 2, 3, 4, 5]
4 print(b)  # [2, 3, 4, 5]

切片的写操作:

1 a = [1, 2, 3, 4, 5]
2 a[1:] = ['a']
3 print(a)  # [1, 'a']

 

 

end

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM