의 얕은 사본 인 경우 테스트하는 함수를 작성, 나는이 한 : 그러나파이썬 : 목록 1은 lst1이 lst2의 얕은 사본 인 경우 테스트하려면리스트 2
def check_shallow_copy(lst1, lst2):
''' Return True if lst1 is a shallow copy of lst2.
Return False if not.
'''
for idx in range(len(lst1)):
if lst1 == lst2 and id(lst1[idx]) == id(lst2[idx]) and lst1 is not lst2:
return True
else:
return False
을, 나는이 일 것이라고 생각하지 않습니다 두리스트가 첫 번째 요소의 사본을 공유하지만 다른 요소는 복사하지 않는 경우 id (lst1 [idx])가 모든 인덱스에 대해 id (lst2 [idx])와 같아야하는 함수를 어떻게 변경합니까?
또한 저는 여전히 얕은 사본과 깊은 사본의 차이점에 약간 흐립니다. 이 함수가 lst1이 lst2의 전체 복사본인지 테스트하기를 원한다면 어떤 수정을해야합니까?
감사합니다.
설명해 주셔서 감사합니다! 정말 고마워요 :) – user2489861