2016-06-16 2 views
0

다음은 파이썬에서 가능합니까?파이썬에서 배열을 조각 내기위한 참조 함수

나는 큰 NumPy와 배열을 조작 저장하고 클래스가

(I 적절한 검색어는 것이 무엇인지, 파이썬 꽤 새로운 아니다). 지금은 별명을 통해이 배열의 '참조 기능'여기

를 부분에 액세스하려는 것은

import numpy as np 
class Trajectory(object): 
    def __init__(self,M=np.random.random((4,4))): 
     self.M=M 

    def get_second_row(self): 
     return self.M[1,:] 

    def set_second_row(self,newData): 
     self.M[1,:]=newData 

t=Trajectory() 
print t.M 
initialData=t.get_second_row() 
t.set_second_row(np.random.random(4)) 
print t.M 

내가 이것에 대해 좋아하지 않는 것은 내가 쓸 필요가 있다는 것입니다 그림 더미 예입니다 별도의 집합과 함수를 얻을. 하나의 함수를 사용하여 값을 가져오고 설정하는 데 사용할 수있는 배열 M의 부분을 참조하는 더 간단한 방법이 있습니까?

때문에, 더미 코드 나이 작업을 수행 할 수 있도록 무언가를 말하기 :

values=t.nth_row 
t.nth_row=values+1 
내가 모두 점점 그 의미

을 만드는 경우 값을 설정하는 기준으로 t.nth_row 사용하고자하는

+0

def get_nth_row (self, n) : self.M [n + 1, :]'? – Hamms

+0

참고로 get 함수에'return'이 없습니다. –

+0

@Hamms, 행을 가져오고 설정할 수있는 함수를 원한다는 것을 명확하게 지정하기 위해 예제를 확장했습니다. – jlarsch

답변

0

하나의 함수를 사용하여 값을 가져오고 설정하는 데 사용할 수있는 배열 M 부분을 참조하는 더 간단한 방법이 있습니까?

예, 작성했습니다. get 함수입니다.

initialData=t.get_second_row() 
t.get_second_row()[:] = np.random.random(4) 
t.get_second_row()[0] = 1997 
+0

나는 당황하고있다. 시원하고 감사합니다! – jlarsch

+0

당신은 저에게 다만 핵심어를 줄 수 있습니다 - 이것의 뒤에 원리는 무엇입니까? – jlarsch

+0

객체 기준 통과 – Hamms