py.切片(slice)

python 切片

1.python可切片对象的索引方式:正、负索引两部分。

如下图所示,以 a = [0,1,2,3,4,5,6,7,8,9] 为例:

正索引0123456789
负索引-10-9-8-7-6-5-4-3-2-1
0123456789

(0为起点,9为中点)

2.Python切片操作的一般方式

一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step),当只有一个“:”时,默认第三个参数step=1。

切片操作基本表达式:object[start_index : end_index : step]

3.例子:

 >>> a = [0,1,2,3,4,5,6,7,8,9]

取单个值:

 >>> a[0]
 0
 >>> a[-4]
 6

切片也可以取负数,例如:a[2] = a [-8] = 2

 >>> a[2]
 2
 >>> a[-8]
 2


切片切的顺序默认是从左到右的,如果step(步长)为负数则会从右往左读取,
切片的开始和结束(strat_index——end_index)和步长(step)是一致的否则会运行会得到空集例如:

 >>> a[2:4:-1]
 []
 >>> a[-2:2]
 []

同时切片也可以对字符串进行切割:

 >>> a = 'hello'
 >>> a[1:]
 'ello'
 a[-1::1]
 'olleh'

也可以进行连续切片:

 >>> a[:8][2:5][-1:]
 [4]

4、总结

1.start_indexend_indexstep可同为正、同为负,也可正负混合使用。但必须遵循一个原则,即两者的取值顺序必须是相同的,否则无法正确切取到数据:当start_index的位置在end_index的左边时,表示从左往右取值,此时step必须是正数(同样表示从左往右);当start_index的位置在end_index的右边时,表示从右往左取值,此时step必须是负数(同样表示从右往左)。

2.在利用切片时,step的正负是必须要考虑的,尤其是当step省略时

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值