切片操作

字符串分片

python支持类似在字符串中使用负偏移这样的方法从序列中获取元素。从技术上讲,一个负偏移与这个字符串的长度相加后得到这个字符串的正的偏移值。能够将偏移看做是从结尾处反向计数。


偏移和分片:位置偏移从左至右(偏移0为第一个元素),而负偏移是由末端右侧开始计算(偏移-1为最后一个元素)。这两种偏移均可以在索引及分片中作为所给出的位置。

对列表进行索引的结果就是你指定的偏移处的对象(不管是什么类型),而对列表进行分片时往往返回一个新的列表:

#!/usr/bin/env python
# coding=utf-8
import numpy as np

L=['spam', 'Spam', 'SPAM!']
print L[1]
print L[0:2] #[0,1]
print L[1:]


原处修改列表

由于列表是可变的,它们支持原处改变列表对象的操作。

#!/usr/bin/env python
# coding=utf-8
import numpy as np

L=['spam', 'Spam', 'SPAM!']
L[0:2]=['eat', 'more']
print L


对经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2。如果第一个索引是0,还可以省略L[:3]

#!/usr/bin/env python
# coding=utf-8

L=['Michael','Sarah','Tracy','Bob','Jack']
print L[0:3]
print L[:3]


类似的,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片。

#!/usr/bin/env python
# coding=utf-8

L=['Michael','Sarah','Tracy','Bob','Jack']
print L[-2:-1]
print L[-2:]


#!/usr/bin/env python
# coding=utf-8
#创建一个0-99的数列
L=range(100)
print L[:10] #前10个数
print L[-10:] #后10个数
print L[10:20] #前11-20个数
print L[:10:2] #前10个数,每两个取一个
print L[::5] #所有数,每5个取一个
L[:] #赋值一个list













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值