2013-07-02 2 views
2

간단한 질문에 대한 키워드 "로"파이썬에서 반복 할 때 (작동하지 않는)과 같이 속기 참조를 할당 할 수 있습니다 : 당신이 원하는 생각파이썬 : 속기

class SomeClass: 
    class_dict = {0:0,1:1,2:2,3:3} 

newClass = SomeClass() 

for n in newClass.class_dict as thedict: # assigning a shorthand reference "thedict" to newClass.class_dict 
    print(thedict[n]) 

답변

3

를 (반복 처리 iteritems()를 사용 n, o 같은 키/값 쌍) : 당신이 원래의 아이디어를 추구하기를 원한다면

또한
class SomeClass: 
    class_dict = {0:0,1:1,2:2,3:3} 

newClass = SomeClass() 

for n, o in newClass.class_dict.iteritems(): 
    print(o) 
+0

, 감사합니다. 내가 생각하고있는 속기가 아니지만, 속기에는 모두 똑같이 필요합니다. –

1

, 당신은 단순히 새로운 이름으로 class_dict을 할당 할 수 있습니다. 두 사전에 대한 변경 사항은 모두 별명 지정으로 인해 실제로 메모리에서 동일한 사전이므로 두 가지 모두에 영향을 미칩니다.

예 :

class SomeClass: 
class_dict = {0:0,1:1,2:2,3:3} 

newClass = SomeClass() 

thedict = newClass.class_dict 

for n in thedict: 
    thedict[n] = thedict[n] + 1 
    print(thedict[n]) 

print(newClass.class_dict) 

출력됩니다 내가 원하는 정확히 무엇

1 
2 
3 
4 
{0: 1, 1: 2, 2: 3, 3: 4}