我们注意到,对于多维数组来说,花式索引和切片的混合使用非常令人困惑且没有记录,例如:
In [114]: x = np.arange(720).reshape((2,3,4,5,6))
In [115]: x[:,:,:,0,[0,1,2,4,5]].shape
Out[115]: (2, 3, 4, 5)
In [116]: x[:,:,0,:,[0,1,2,4,5]].shape
Out[116]: (5, 2, 3, 5)
Run Code Online (Sandbox Code Playgroud)
我已经在https://numpy.org/doc/stable/user/basics.indexing.html上阅读了花哨索引的用法,我可以理解这一点x[:,0,:,[1,2]] = [x[:,0,:,1], x[:,0,:,2]]。但是我无法理解为什么上面的结果在第一个维度上Input [115]有所Input [116]不同。有人可以指出此类广播规则的记录在哪里吗?
谢谢!
我尝试在文档中搜索奇特的索引,并将问题发布到 Github 上的 numpy 存储库。
我一直在最新的项目中使用 switch 语句,并希望有两个可能的值执行相同的代码。所以我查找了如何做到这一点的方法。我发现的唯一答案如下所示:
switch (element) {
case hi:
case hello:
//do something here
break;
}
Run Code Online (Sandbox Code Playgroud)
但我做了更多实验,发现我的 IDE 并没有抱怨:
switch (element) {
case hi, hello:
//do something here
break;
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试了一下,发现它有效。所以我想知道使用这种方法是否有问题,因为我在网上没有找到任何内容。我很想能够使用它,因为它看起来干净多了。