2012-03-28 84 views

回答

12

slicings的一般語法是

a[start:stop:step] 

可以省略任何三個值startstop,或者step的。如果你省略了step,它總是默認爲1。相反,缺省值startstop取決於step的符號:如果step爲正,start默認爲0stopstoplen(a)。如果step爲負數,則start默認爲len(a) - 1stop爲「列表的開頭」。

所以a[:5:-1]相同a[9:5:-1]這裏,

a[:5][::-1]相同a[0:5][4::-1]

(請注意,這是不可能給出的默認值stop明確,如果step爲負。停止值爲非包容性,所以0會從「名單的開端」不同。使用None就等於放棄沒有任何價值。)

1

a[:5][::-1]說那是什麼程序應該首先採取元素,直到該數據集的第5個元素,然後扭轉他們(採取從最後一個每一個元素)。

與此相反,a[:5:-1]表示您應該帶元素直到從最後一個元素開始的第5個元素(每個元素從最後一個元素開始)。

0

a [:5]返回一個數組,索引0到4,然後負數索引作爲第二個操作。 a [:5:-1]會對原始數組進行負向索引。