2013-08-26 4 views
0

다음 코드는 Python 2.7.1 인터프리터에서 사용되었습니다.파이썬에서 같은 목록에리스트를 추가하면 왜 [...]가 나옵니까?

>>> a = [1, 2, 3] 
>>> a.append(a) 
>>> a 
[1, 2, 3, [...]] 
>>> a == a[-1] 
True 
>>> print a[-1] 
[1, 2, 3, [...]] 

누구든지 파이썬이 여기에서 무엇을하려고하는지 설명해주십시오.

+0

만약 두리스트를 함께 쓰고 싶다면'[1,2,3] + [4,5,6]'로'[1,2,3,4,5,6]'을 생성하면된다. –

답변

3

목록 내에 무한 중첩 목록을 만들었습니다. 표현할 수 없기 때문에 [...]이 나타납니다.

>>> for item in a: 
...  print item 
... 
1 
2 
3 
[1, 2, 3, [...]] # The whole list that we just iterated over :) 

더 읽기 here 참조 : 각 값을 출력하려고하면

은 어떻게되는지 살펴 보자.

0

목록은 원래 목록에 대한 포인터로 지정됩니다. 당신이 진정 소자 (3)로 추가 된 목록을 원하는 경우이 같은 복사본을 만들 수 있습니다

>>> a.append(a[:]) 
>>> print a 
[1, 2, 3, [1, 2, 3]] 

또는 a의 요소를 원하는 경우 대신 사용

>>> a = a + a 
>>> print a 
[1, 2, 3, 1, 2, 3] 
2

개봉은 기본적으로 목록을 만드는

: 예를 들어 무한 중첩 된 목록

을 만드는 자체에 목록을 추가 중첩 된 목록 (리스트 내의리스트) 개봉의 091,273,210

내가 a[3][3]a[3] 내 목록을 받고 할 때 a[3]의 중첩 된 목록에서 다음 목록을 표시 할 때 [...]는 파이썬이 생각이 무한히 중첩 된 목록 설명

더 많은 정보와 예제를 묘사하는 방법이다 here

관련 문제