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'
相關文章
相關標籤/搜索