단계를 수 있습니다 코드를 통해, 우리는
x = []
을 ?:한다라는 빈 목록을 작성 x
for i in range(3)
: 세 번 아래의 코드를 반복 :
x = [x + x]
이 x
의 현재 값, 플러스 x
의 현재 값에 x
의 가치를 재 할당하고 목록에서 그 포장.
기본적으로 각 반복을 무슨 일이 일어나고 있는지 당신의 목록이 한 단계 중첩되고, 목록 안에있는 목록이 현재 중첩 된 목록의 하위 목록이 될 것입니다.
가장 간단한 explantion은 다음과 같습니다. - for 루프의 각 반복에서 변수 x의 값은 중첩 된 두 개의 값으로 재 할당됩니다.이 중 하나는 두 개의 다른 중첩 된 목록을 포함 할 수 있습니다 목록. 여기서, 상기 그림이 너무 혼잡 한 경우
>>> # x is empty
>>> x = []
>>>
>>> # 1st iteration
>>> x = [x + x]
>>> # x
>>> x
[[]] # your list is nested by one level
>>>
>>> # 2nd iteration
>>> x = [x + x]
>>> # x
>>> x
[[[], []]] # your list is nested by three levels
>>> # 3rd iteration
>>> x = [x + x]
>>> # x
>>> x
[[[[], []], [[], []]]] # your list is nested by four levels
>>>
짧은이다 : 여기서
는
for
-loop의 각 반복에서, X의 값을 표시 한 도면이다
First iteration
Value of x: [[]]
Second iteration
Value of x: [[[], []]]
Third iteration
Value of x: [[[[], []], [[], []]]]
또한 중첩 목록의 구조와 같은 트리를 만드는 것이 무엇이 더 좋은지 이해하는 데 도움이됩니다.
[ # 1st level
[ # second level
[ # third level
[], # fourth level
[]
],
[
[],
[] # fourth level
] # third level
] # second level
] # 1st level
이유를 아는 루프를 인쇄하십시오 –
좀 더 구체적으로 질문의 이름을 변경 하시겠습니까? 나는 그것이 동일한 이슈를 찾고있는 동료 SO 사용자를 도울 것이라고 생각한다. – perlyking