获取包含基本元素的数组的反转切片

时间:2014-05-12 21:05:13

标签: python arrays numpy slice

我正在使用numpy数组。我试图计算一个包含从某个中心传播出来的元素产品的数组。我的代码看起来很像,psinumpy.array()

up=psi[position:position+width]
pre_down=psi[position-width+1:position+1]
down=pre_down[::-1]
ac=up*down

是否有更优雅,更pythonic的方式来制作阵列" down"?类似

down=psi[position:position-width:-1]
position-width为0时,

无效。

2 个答案:

答案 0 :(得分:3)

当您需要切片到元素0时,可以使用None作为切片的末尾。

end = position - width - 1 if position > width else None
down = psi[position:end:-1]

答案 1 :(得分:1)

您可以使用or关键字将值0替换为None,为您提供基本元素。

down=psi[position:position-width or None:-1]