python slice()函数与切片表示法 - 如何处理slice()中的空值?

asc*_*ter 1 python

文档涵盖了slice()对象的3个用法:

  • obj[:stop] = obj[slice(stop)]
  • obj[start:stop] = obj[slice(start, stop)]
  • obj[start:stop:step] = obj[slice(start, stop, step)]

但是当我事先不知道物体的长度时怎么办呢?设置stop到很高的价值,比如2E32-1

  • obj[start:]= obj[slice(start, 2E32-1)]
  • obj[:]= obj[slice(2E32-1)]

SCB*_*SCB 5

您可以将stop参数设置None为无限期地继续.

obj = [1, 2, 3, 4]

obj[2:] == obj[slice(2, None)]
# == [3, 4]

obj[:] == obj[slice(None, None)]
# == [1, 2, 3, 4]

obj[::2] == obj[slice(None, None, 2)]
# == [1, 3]
Run Code Online (Sandbox Code Playgroud)