[Python] List Slicing
Published in
2 min readDec 28, 2018
Python當中,我覺得Slice是一個強大有趣的使用方法,是以前學Java從來沒有的方便體驗,因此特別介紹一下。
List在Python中是有序的物件集合,具有索引特性,長度可以變動,在學習過程中比較特別的是發現Python並沒有Array的實作,大概是實務上Array的使用機率比較低,根據Python的禪意,總是簡單的最好,因此只剩List吧。
以下就來玩玩一些有趣的特性:
#create listx = list(range(10))
x[0:5]
Python以中括號代表list,與Array特性一樣,含index的特性,裡面可以直接使用index存取list中資料。與其他語言相較比較特別的是slice的應用,以[from_index:to_index]形式呈現。需要注意的是to_index是不包含,而from_index是被包含的,以下是x[0:5]結果:
x[5:]
留白表示到底的概念,因此從index = 5 開始到底通通會被取出:
x[-10]
#0x[-1:-4]
#[]x[-4:-1]
#[6, 7, 8]x[3:-3]
#[3, 4, 5, 6]
index負數代表從後面來,倒數第一就是-1,因此就是往後數10個。這裡注意from index要小於to index才能回傳有值的結果,不然只會得到空list。
x[::2]
#[0, 2, 4, 6, 8]
第二個冒號後面接續的數值代表的是step,2意思是跳2步的意思,結果就會是範圍是從頭到尾,每次跳2步。
以上就是List Slicing的簡單介紹,下次可以談談List Comprehension。