gpt4 book ai didi

python - 索引/切片 numpy 数组的困惑

转载 作者:行者123 更新时间:2023-11-28 21:15:31 26 4
gpt4 key购买 nike

在对 numpy 数组进行切片时,我需要澄清一下。

假设我想对一个数组进行切片,索引从某个较高的值倒数到第一个索引。例如,a = np.zeros(10)

如果我做 a[5::-1],我得到数组([0., 0., 0., 0., 0., 0.]),但为什么当我做 a[5:- 1:-1],我得到以下数组([],dtype=float64)。我不明白它背后的逻辑。指定最后一个索引对我来说很重要。另一方面,如果我想要这个数组的前 5 个条目,a[0:5:1] 和 a[:5:1] 都会给我相同的结果。使用 -1 作为索引有什么问题?

附带说明一下,我如何获得两个不相交切片的并集?

谢谢

最佳答案

在 Python 中,按照约定,索引 -1 指的是数组的最后一个元素。 -2 是倒数第二个,依此类推。当您从 5 切片到 -1 时,这相当于长度为 10 的数组的切片 [5:9]。当您添加 -1 步骤时,您重新说“从 5 到 9 向下切片。”但这是荒谬的,因为 5 低于 9,所以你得到一个空列表。

On a side note, how do I obtain the union of two disjoint slices?

itertools.chain() .

关于python - 索引/切片 numpy 数组的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033805/

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