2013-06-26 7 views
-2

저는 몇 달 동안 파이썬을 잘 사용했지만 오늘 아침에 목록 질문을 읽을 때 혼란스러워졌습니다. 그 대답은 다른 사람에게 목록을 추가하거나 목록을 다른 사람에게 할당 할 때 "목록의 참고"에 대해 이야기하고 있었고 나 (많은 것을) 혼란스럽게합니다.파이썬 목록은 어떻게 작동합니까?

누군가가 목록/목록 참조가 어떻게 작동하는지 설명 할 수 있습니까?

>>> a = b = [] 
>>> a.append(2) 
>>> print a 
[2] 
>>> print b 
[2] 

이 너무입니다 둘 다 같은 객체를 참조하기 때문입니다 이유 :

+1

당신이 기본으로 혼동하는 경우이 정보가 도움이 http://stackoverflow.com/questions/9724802/how-does-python-referencing-work –

+0

인가 [튜토리얼] (HTTP : //docs.python .org/2/tutorial /) 유용합니다 –

답변

2

는 얘기입니다. id(a) == id(b) (또는 a is b), 하나에 추가 된 것이 다른 하나에 추가됩니다.

것은이 문제를 해결하려면, 당신은 a의 동일한 목적이 아닌 사본을 만들 수 있지만 같은 내용이 있습니다

>>> a = [] 
>>> b = a[:] 
>>> a.append(2) 
>>> a 
[2] 
>>> b 
[] 
+0

감사합니다 :)! 이것은 도움이됩니다. –

+0

@ThomasHobohm 답변을 수락하는 것을 잊지 마십시오 :) – TerryA

-1

또한 결합 된 목록을 인쇄 할 수 있습니다 경우 확실하지 않음을 이것은 도움이됩니다. 파이썬 위키에는리스트와 딕트에 대한 더 자세한 요약이 있기 때문에 파이썬 위키를 살펴볼 것입니다.

a = [] 
b = [] 
a.append(15) 
print(a) 
#[15] 
b.append(16) 
print(b) 
#[16] 
print(a+b) 
#[15, 16] 
관련 문제