删除逗号解决“IndexError:数组索引太多”但我不明白结果

时间:2015-01-17 01:08:40

标签: python arrays image-processing sift

很抱歉,如果这是一些基本的东西,但我似乎无法找到任何相关信息。

我想知道这种情况下逗号的作用是什么?

f = loadtxt(filename)  
return f[:,:4],f[:,4:]

这是来自Programming Computer Vision的代码,它正在抛出错误。

  

IndexError:数组索引太多

当我删除逗号时,我没有错误,但我认为我的结果不正确。

1 个答案:

答案 0 :(得分:0)

[]括号内的逗号分隔了多维数组索引中的维度。

错误表明f=loadtxt()返回的内容不是多维数组。

多维数组具有.shape属性,可以使用print语句进行测试,例如: print f.shape

冒号指定一系列索引,即数组中的切片 如果您删除逗号,则可以获得,例如: f[::4],它仍然是单维数组的有效python数组切片规范。它等于整个数组中的每个第4个元素。这可能不是你想要的,当然不是最初用逗号制作的。

有关切片表示法的更多信息,请参阅Explain Python's slice notation