gpt4 book ai didi

python - 为什么 python slice 语法不从负索引环绕到正索引?

转载 作者:太空狗 更新时间:2023-10-30 00:02:48 24 4
gpt4 key购买 nike

我注意到,给定 l = [1,2,3]l[-1:] 返回 [3] 作为预期,但是 l[-1:0] 返回 [],这与我的预期非常不同。然后我尝试了 [-1:1],我希望返回 [3,1],但它也返回 []

切片语法没有从负索引到正索引(反之亦然)的循环是否有充分的理由?

它似乎非常有用并且实现起来非常简单,但也许我遗漏了一些东西。

最佳答案

切片有一个非常简单的定义:只要低于stop,就可以从start跳转step。如果startstep为负数,首先加上数组的长度。

有一次你的建议导致令人讨厌的行为是:

x[10:-10]

如果 x[-10]x[10] 之后,您需要从 x[10] 的切片x[len(x)-10-1]。如果你有环绕,你将拥有切片 x[10:] + x[:-10],这几乎没用。

环绕行为很容易用当前行为模拟(例如 x[m:] + x[:n]),但是当前更有用的行为很难用环绕。

关于python - 为什么 python slice 语法不从负索引环绕到正索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26118263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com