gpt4 book ai didi

python - 在 numpy 中获取互补切片的最简洁方法

转载 作者:行者123 更新时间:2023-12-04 02:39:52 24 4
gpt4 key购买 nike

给出 numpy.array 切片补码的最简洁(紧凑)方式是什么?与 previous post 相反我没有考虑速度,而是考虑易用性/可读性/通用性。

以数组A=np.array([1,2,3,4,5,6])为例。我正在寻找 A[start:stop] 的补码,例如 A[2:4] 的补码是 "comp of A [2:4]"=array([1,2,3,6])。我正在寻找一种无论内容类型如何都适用的解决方案。因此 A 也可以包含数组、str 并且原则上理想情况下是正常 [start:stop] 切片操作也适用的任何维度。

不要求普遍性,这是我目前使用的:

def comp(A,start,stop):
if A.ndim == 1:
out = np.hstack((A[0:start],A[stop:]))
else:
out = np.vstack((A[0:start],A[stop:]))
return out

最佳答案

这是 np.r_ 的一种简洁方式生成这些索引,然后索引到输入数组中 -

A[np.r_[:start,stop:len(A)]]

关于python - 在 numpy 中获取互补切片的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846052/

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