누구나 내가 얻고있는 결과를 설명해 주시겠습니까? 처음으로 변수 lists
가 비어 있지만 즉 10
data[i]
이 lists[i]
에 추가 할 때 내가이 긴 목록이 들어 오면 와서 잘 모릅니다Python uncaught리스트 변수의 동작
List: [[10], [10, [10]]
가된다. 나는 그것의 행동을 추적하는 강타 파이썬에 새로운 오전. 여기에 코드
data = [10, 20, 30]
list1 = list2 = list3 = list()
lists = [list1, list2, list3]
for i in range(len(data)):
lists[i].append(data[i])
print '-------------------'
print 'at %s' %(i)
print ' List: %s' % (lists)
print ' Data: %s' % (data[i])
그리고 응답
-------------------
at 0
List: [[10], [10], [10]]
Data: 10
-------------------
at 1
List: [[10, 20], [10, 20], [10, 20]]
Data: 20
-------------------
at 2
List: [[10, 20, 30], [10, 20, 30], [10, 20, 30]]
Data: 30
@lejlot 아니요, 언급 한 게시물의 중복이 아닙니다. 여기에 내가 설명이 완벽하게 설명해야합니다 Rohit에 의해 언급 된 게시물 – MaNKuR
그것은 Rohit에 의해 표시된 하나는 실제로 조금 다른 반면, 목록 곱셈 연산이 참조를 처리하는 방법을 보여주기 때문에 두 질문에서 설명됩니다 (* * 여기의 경우는 아닙니다 **). 그러나 그것은 정말로 중요하지 않습니다 - 어느 쪽이든 - 그것은 중복 질문입니다. 그리고 이미 사이트에서 좋은 답변을 가지고 있습니다. 그들이 당신이 이슈를 이해하도록 도왔 으면 좋겠어요. :) – lejlot