2016-12-01 3 views
0

I가 다음 코드를 가지고목록 항목이 동일 메모리 위치

a = [1,2] 

b = list(a) 

print id(a[0]) 
print id(b[0]) 

리스트 (A 및 B)는 서로 다른 메모리 위치가있다. 그러나 그 안에있는 요소들은 같은 위치에 있습니다. 어떻게이 두 가지를 다르게 할 수 있습니까?

답변

1

list은 새로운 목록을 만들지 만 깊은 복사는하지 않습니다. 즉, 내부의 모든 요소를 ​​복제합니다.

clone (deep copy라고도 함)이 필요합니다. Python의 좋은 대안 (및 벤치 마크)은 How to clone or copy a list?입니다.

관련 문제