2017-02-01 3 views
0

이것은 완전히 간단 해 보입니다. 어떤면에서는 마치 대괄호를 없앨 필요가있는 것처럼 보입니다. 배열을 사용하여 다차원 배열의 인덱스가되고 싶습니다. 나는 총 거짓말이어야한다. 여기 내 최소 예가 있습니다 :다차원 numpy 배열의 인덱스로 Numpy 배열

import numpy as np 

## I know this is a dumb way to initialize. 
state = np.array([[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[16,17,18]]]) 
print('state\n',state) 
a = np.array([0,0,0]) 
print('a',a) 

## I want to use a as the indices of state a la: 
print('state[a]\n',state[a]) 

## If I could just get rid of the brackets I'd be fine: 
print('state[0,0,0]\n',state[0,0,0]) 

## This gets me what I want, but it is UGLY in non-minimal case: 
print('state[a[0],a[1],a[2]]\n',state[a[0],a[1],a[2]]) 

고마워요!

답변

0

그냥 인덱스 배열을 튜플로 변환하십시오.

+0

이것은 질문에 대한 답을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. - [리뷰에서] (리뷰/저품절 포스트/15065236) – Lundin

+0

@ Lundin 그렇지 않습니까? 좋아, 오타가 혼동 스러웠다. ('배열'대신에 '목록'). 실제로, 왜 [중복 답변] (http://stackoverflow.com/a/41951183/7207392)을 보지 않으시겠습니까? –

+0

이 답변의 문제점은 링크 된 사본의 허용 된 문제와 달리, 이것이 문제를 어떻게 또는 왜 해결하는지에 대한 설명을 제공하지 않는다는 것입니다. 현재의 형태에서는 이것이 답이 아니라 주석으로 더 나을 것입니다. – Lundin