您的位置:首页 > 编程语言 > Python开发

Python 2.5.1 切片

2016-01-02 22:50 513 查看
取一个list或者tuple的部分元素是一个非常常见的操作,比如一个list如下:
L =['Michael','Sarah','Tracy','Bob','Jack']
使用切片(slice)来取前3个元素就是:
>>>L(0:3)

['Michael','Sarah','Tracy']
L[0:3]表示,从索引0开始,直接索引到3为止,但是不包括3.即索引0,1,2。

如果索引0开始,还可以省略:

>>>L[:3]
['Michael','Sarah','Tracy']
也可以从1开始取,取出两个元素:
>>>L[1:3]
['Sarah','Tracy']
类似的,Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片。试试:
>>>L[-2:]
['Bob','Jack']
记住倒数第一个元素的索引是-1.
切片操作十分有用,我们先建一个0-99的数列:
>>>L =list(range(100))

>>>L

[1,2,3,...99]
可以通过切片非常轻松取出某一段序列。比如前10个:
>>>L[:10]
[0,1,2,3,4,5,...9]

前10个数每两个取一个:
>>>L[:10:2]

[0,2,4,...8]

所有的数每5个取一个。

>>>L[::5]
[0,5,10,15,...95]

甚至什么都不写
>>>L[:]
[1,2,3,..99]
tuple也是list一种,唯一的区别是tuple不可变。因此tuple也可以使用切片。只是操作结果仍是tuple。

>>>(0,1,2,3,4,5)[:3]
(0,1,2)
字符串'xxx'也可以看作一种list,每个元素就是一个字符。因此,字符串也可以使用切片技术。只是操作结果也是一个字符串:
>>>'ABCDEF'[:3]

'ABC'
在很多 编程语言中,针对字符串提供了各种截取函数,(例如substring),其实目的就是对字符串切片。Python中没有针对字符串的截取函数,只需要一个切片就可以了。非常简单。

小结:
有了切片的操作,很多循环就不需要了。Python的切片非常灵活,一行代码就可以实现很多循环才能实现的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 切片