关于Python中的切片

4 投票
3 回答
7564 浏览
提问于 2025-04-17 13:04

1. mylist[:]mylist[::] 有什么区别吗?

2. 为什么 mylist[::0] 会报错呢?明明负数步长是可以的啊?

3 个回答

0

第三个元素是用来表示步长的。当你写 mylist[:] 时,它会默认步长是1,这和 mylist[::] 是一样的。

如果你写 mylist[::0],那么就会出错,因为步长只能是正数或者负数,不能是0。

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

mylist[::0]

这句话的意思是,从开始的索引到最后的索引之间没有任何间隔,听起来在什么情况下会这样呢?

8
  1. 不,两者的结果都是 slice(None, None, None)

  2. 正数步长是向前走,负数步长是向后走。零步长是...不动?这到底是怎么回事?会不会是一个无限重复的单一值?

撰写回答