我注意到,鉴于l = [1,2,3]
, that l[-1:]
回报[3]
正如预期的那样,但是l[-1:0]
回报[]
,与我的预期非常不同。
然后我尝试了[-1:1]
,我期望返回[3,1]
,但它也会返回[]
.
切片语法不从负索引环绕到正索引(反之亦然)是否有充分的理由?
看起来它非常有用并且实现起来非常简单,但也许我遗漏了一些东西。
切片有一个非常简单的定义:你从start
通过跳跃step
只要你在下面stop
. If start
or step
为负数,先加上数组的长度。
有一次你的建议导致令人厌烦的行为是:
x[10:-10]
If x[-10]
是在之后x[10]
,你想要的切片来自x[10]
to x[len(x)-10-1]
。如果你有环绕,你就会有切片x[10:] + x[:-10]
,这大多是无用的。
环绕行为很容易模仿(例如x[m:] + x[:n]
)与当前的行为,但是当前的、更有用的行为很难用环绕来模拟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)