Python切片

  取一个list或tuple的部分元素是很是常见的操做。对于这种常常指定索引范围的操做,用循环十分繁琐,所以,Python提供了切片(Slice)操做符,能大大简化这种操做。编程

>>> L = list(range(20))
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
# 取前10个数
>>> L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 取后10个数,记住倒数第一个元素的索引是-1
>>> L[-10:]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
# 取前10-15个数
>>> L[10:15]
[10, 11, 12, 13, 14]
# 前10个数,每两个取一个
>>> L[:10:2]
[0, 2, 4, 6, 8]
# 全部数,每5个取一个
>>> L[::5]
[0, 5, 10, 15]
# 什么都不写,只写[:]就能够原样复制一个list
>>> L[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>
# tuple也能够用切片操做,只是操做的结果还是tuple
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
>>>
>>>
# 字符串也能够当作是一种list,每一个元素就是一个字符。所以,字符串也能够用切片操做
# 在不少编程语言中,针对字符串提供了不少各类截取函数(例如substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只须要切片一个操做就能够完成
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'
相关文章
相关标签/搜索