2
파이썬의 defaultdict 객체에 중복 복사본 (메모리에 같은 위치에 새 포인터를 할당하는 것뿐만 아니라)을 만들려면 어떻게해야합니까? 위의 코드는 무엇을파이썬의 defaultdict 변수 복사 또는 복제
from collections import defaultdict
itemsChosen = defaultdict(list)
itemsChosen[1].append(1)
dupChosen = itemsChosen
itemsChosen[2].append(1)
print dupChosen
얕은 카피하고
defaultdict(<type 'list'>, {1: [1]})
감사를 반환하는 내가 찾고 있어요 무엇을 반면
defaultdict(<type 'list'>, {1: [1], 2: [1]})
반환합니다.
이것은 얕은 사본이 아니며 동일한 개체에 대한 참조가 두 개인 경우입니다. 얕은 복사본은'itemsChosen.copy()'입니다. – roippi
또한 제쳐두고 ...'defaultdict'는 많은 내장 함수와 마찬가지로 복사 기능을 가지고 있습니다 :'dupChosen = itemsChosen.copy()'... –
설명을 주셔서 감사합니다 - 얕은/깊은 복사를 오해했습니다. 또한 defaultdict에 대한 함수 페이지도 없지만, 그 함수는 dict로부터 상속을 받기 때문에 의미가 있습니다. – so13eit