python - 获取除numpy数组的第一个和最后一个元素之外的所有元素

标签 python arrays python-2.7 numpy

我想从数组中获取除第一个和最后一个 n 个元素之外的所有元素,我可以在不使用 if 语句的情况下保持 n=0 的一致行为吗? ( python 2.7)。 这就是我想要的,但如果 nCut=0 就会崩溃:

nCut = 3
newArray = oldArray[nCut:-nCut]

这更接近,但不包括最后一个元素(实际上也只是一个稍微隐藏的 if 语句)

newArray = oldArray[nCut:-nCut-1*(nCut<1)]

我必须对从文件中加载的一堆数组执行此操作,因此对于 n=0 的情况,不要将丑陋的大加倍 if 会很好。

最佳答案

自己添加 len(oldArray) 而不是指望切片实现为您完成:

newArray = oldArray[nCut:len(oldArray)-nCut]

您还可以使用 -nCut 或 NoneNone 用作端点,否则它会是 0:

newArray = oldArray[nCut:-nCut or None]

None 是切片端点的设置,如果你不写的话,所以这相当于 oldArray[nCut:]nCut 0。这不太容易理解,但也不那么冗长。在多维切片的情况下,或者如果数组的表达式比 oldArray 更复杂,它可能是更好的选择。

关于python - 获取除numpy数组的第一个和最后一个元素之外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553531/

相关文章:

c - c 的 displayArray 函数

JavaScript 代码未按所需顺序运行(Node.js、MongoDB)

regex - 这个正则表达式模式有什么问题?

linux - 如果 x > y 在 x 大于 y 的地方不起作用 python 2.7

mysql - 安装 mysql python 时遇到问题,在 django 中找不到 mysqldb 模块

python - 使用从 txt 文件中提取的尺寸裁剪图像

python - 计算表中存在或不存在某个因素的组合

c++ - 为什么在新建数组时不能指定构造函数?

python - Django:想要创建一个可以上传和显示图像的应用程序

python - 动态自定义 django 表单小部件