gpt4 book ai didi

python - 这种切片行为是否已定义?

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:20 27 4
gpt4 key购买 nike

我在处理Python的切片,遇到了意想不到的结果。

示例:

print([1, 2, 3][0:-4:-1])

返回 [1]

print([1, 2, 3][0:-3:-1])
print([1, 2, 3][0:-2:-1])
print([1, 2, 3][0:-1:-1])

其中的每一个都返回 [](如预期的那样)。

这是怎么发生的?

谢谢,Reyha24。

最佳答案

slice 中,第一项(开始)是包容性的。第二个参数 (stop) 是exclusive 的。当给出 -3 的停止时,这意味着从 11。由于停止是排他的,因此排除了唯一的项目,结果为空。当给出 -2 时,它转换为索引 1。一旦给出索引 0,您就已经通过了索引 1,因为步长为负。因此,结果为空。你会得到与 -1 类似的东西。但是,从末尾取 -4 会变成 -1,因为列表中只有三项。从 0 到 -1 的负步长是可能的:索引 0 被包括在内,索引 -1 不包括在内,因为它出现在列表的后面。

关于python - 这种切片行为是否已定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38287420/

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