Python函数不会输出索引数组



我在项目中遇到以下问题。我创建了一个可重复的问题示例:

In[1]:  arr_in = np.array([1,2,3,4,5,6])
In[2]:  def central(imx):
half = int(len((imx)/2))
im_forth = imx[half:]
im_back = imx[0:half:-1]
return im_forth, im_back
In[3]:  xx, yy = central(arr_in)
In[4]:  xx
Out[4]: array([], dtype=int32)
In[5]:  yy
Out[5]: array([], dtype=int32)

我想知道为什么我没有接收输出,而只是一个空数组。提前谢谢。

您的问题是

half = int(len((imx)/2))

这相当于

half = int(len( [1/2, 2/2, 3/2, 4/2, 5/2, 6/2]))

half = int(6) => 6

你想做什么

half = int(len(imx)/2) => 3

或者更好的

half = len(imx)//2

你有点搞砸了计算一半,

def central(imx):
half = int(len(imx)/2) # Updated here
im_forth = imx[half:]
im_back = imx[0:half:-1]
return im_forth, im_back

int(len((imx)/2))的扩展

In [1]: (arr_in)/2
Out[1]: array([0.5, 1. , 1.5, 2. , 2.5, 3. ])
In [2]: len((arr_in)/2)
Out[2]: 6
In [3]: int(len((arr_in)/2))
Out[3]: 6

这就是它返回空数组的原因

相关内容

  • 没有找到相关文章

最新更新