2012-02-15 58 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