문제

3 좌표가있는 매트릭스라는 Numpy Matrix 변수가 있다고 가정 해 봅시다 : (x, y, z).

다음 코드를 통해 매트릭스의 값을 사용하고 있습니다.

myVar = MATRIX[0,0,0]

동일

myVar = MATRIX[0,0][0]

또는

myVar = MATRIX[0][0,0]

?

다음 코드가 있다면 어떨까요?

myTuple = (0,0)
myScalar = 0
myVar = MATRIX[myTuple, myScalar]

마지막 줄은 수행하는 것과 같습니다

myVar = MATRIX[myTuple[0], myTuple[1], myScalar]

나는 간단한 테스트를 수행했지만 그렇게 보이지만 아마도 모든 경우에 그렇게 된 것은 아닙니다. 광대 한 매트릭스와 함께 파이썬에서 사각형 괄호는 어떻게 작동합니까? 첫날부터 나는 그들이 어떻게 작동하는지 혼란 스러웠다.

감사

도움이 되었습니까?

해결책

나는 당신이 가지고 있다고 가정합니다 array A가 아닌 인스턴스 matrix, 후자는 두 차원만을 가질 수 있기 때문입니다.

m[0, 0, 0] 위치 (0, 0, 0)에서 요소를 가져옵니다.m[0, 0] 전체 서브 어레이 (슬라이스)를 얻는다. array. 이 서브 어레이의 첫 번째 요소를 다음과 같이 얻을 수 있습니다. m[0, 0][0], 이것이 두 구문이 작동하는 이유입니다 (그래도 m[i, j, k] 불필요한 중간 단계가 없기 때문에 선호됩니다).

이 Ipython 세션을 살펴보십시오.

rbonvall@andy:~$ ipython
Python 2.5.4 (r254:67916, Sep 26 2009, 08:19:36) 
[...]

In [1]: import numpy.random

In [2]: m = numpy.random.random(size=(3, 3, 3))

In [3]: m
Out[3]: 
array([[[ 0.68853531,  0.8815277 ,  0.53613676],
        [ 0.9985735 ,  0.56409085,  0.03887982],
        [ 0.12083102,  0.0301229 ,  0.51331851]],

       [[ 0.73868543,  0.24904349,  0.24035031],
        [ 0.15458694,  0.35570177,  0.22097202],
        [ 0.81639051,  0.55742805,  0.5866573 ]],

       [[ 0.90302482,  0.29878548,  0.90705737],
        [ 0.68582033,  0.1988247 ,  0.9308886 ],
        [ 0.88956484,  0.25112987,  0.69732309]]])

In [4]: m[0, 0]
Out[4]: array([ 0.68853531,  0.8815277 ,  0.53613676])

In [5]: m[0, 0][0]
Out[5]: 0.6885353066709865

그것은 Numpy를 위해서만 이와 같이 작동합니다 array에스. 파이썬 내장 튜플과 목록은 정수만으로 튜플에 의해 색인이 없습니다.

다른 팁

다른 튜플로 튜플을 색인 할 수는 없으므로 해당 코드 중 어느 것도 유효하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top