带列表的Numpy切片

带列表的Numpy切片,numpy,numpy-slicing,Numpy,Numpy Slicing,我正试图用列表b对一个数据数组a进行切片。但这种行为并不像我预期的那样。我必须改变什么才能得到想要的结果 a = np.arange(27).reshape(3,3,3) b = [2,2] 实际行为: a[:,b] array([[[ 6, 7, 8], [ 6, 7, 8]], [[15, 16, 17], [15, 16, 17]], [[24, 25, 26], [24, 25, 26]]])

我正试图用列表
b
对一个数据数组
a
进行切片。但这种行为并不像我预期的那样。我必须改变什么才能得到想要的结果

a = np.arange(27).reshape(3,3,3)

b = [2,2]
实际行为:

a[:,b]

array([[[ 6,  7,  8],
        [ 6,  7,  8]],

       [[15, 16, 17],
        [15, 16, 17]],

       [[24, 25, 26],
        [24, 25, 26]]])
a[:,2,2]

array([ 8, 17, 26])
通缉行为:

a[:,b]

array([[[ 6,  7,  8],
        [ 6,  7,  8]],

       [[15, 16, 17],
        [15, 16, 17]],

       [[24, 25, 26],
        [24, 25, 26]]])
a[:,2,2]

array([ 8, 17, 26])

尝试用
切片(无)替换
,然后解包
b

a[(slice(None), *b)]
# [ 8 17 26]


非常感谢你,效果非常好a[(切片(无),*b)]``结尾的括号太多了。谢谢。忘了去掉后面的括号。