2012-02-15 32 views
2
  1. mylist[:]mylist[::]之間是否有區別?
  2. mylist[::0]提出錯誤的原因是什麼?因爲允許負面步驟?

回答

8
  1. 號兩種結果slice(None, None, None)

  2. 積極的大步前進。負面進展倒退。零大步...去哪兒?如何工作?一個單一值的無限序列?

+1

你也許可以添加關於'slice'對象的解釋。至少看'help(slice):) :) – Kimvais 2012-02-15 07:34:33

0

第三個元素是用於步驟。當你寫mylist[:]它會假設步驟將是1,這是在mylist[::]相同的情況。

如果你寫mylist[::0]那麼它會引發錯誤,因爲步驟可以+ve-ve0

+1

它們可以是0,只是0步沒有意義。 – 2012-02-15 07:35:44

+1

@ IgnacioVazquez-Abrams,>>> [1,2,3,4,5] [:: 0] ValueError:切片步驟不能爲零 – warvariuc 2012-02-15 08:06:55

+0

該例外來自'list',而不是'slice'。 – 2012-02-15 08:11:07

1
No difference between mylist[:] and mylist[::] 

mylist[::0] 

這從開始指數去年指數無臺階所暗示的,不知道在什麼世界它會成爲可能。

+0

明確的零讓你想到,「沒有人會這樣做」,但如果價值已經計算出來,它將不可能發現,我可以想象它發生了。 – 2012-02-15 08:16:10