이 튜토리얼에서는 복사에 대해 알아볼 것입니다. 메소드 세트 데이터 구조. 자세히 보시죠.
복사 방법 얕은 사본을 얻는 데 사용됩니다. 세트입니다.
정상에서 다른 예를 살펴보겠습니다. 및 얕은 세트 사본.
일반 복사
아래 단계에 따라 결과를 이해하세요.
- 세트를 초기화합니다.
- 할당 연산자를 사용하여 집합을 다른 변수에 할당합니다.
- 이제 복사한 집합에 요소를 하나 더 추가합니다.
- 두 세트를 모두 인쇄합니다.
당신은 사이에 어떤 차이도 찾을 수 없습니다. 할당 연산자는 참조 집합을 반환합니다. . 두 세트 모두 메모리의 동일한 객체를 가리키고 있습니다. 따라서 둘 중 하나에 대한 변경 사항은 둘 다에 반영됩니다.
예
# initialzing the set number_set = {1, 2, 3, 4, 5} # assigning the set another variable number_set_copy = number_set # changing the first value of number_set_copy number_set_copy.add(6) # printin the both sets print(f"Set One: {number_set}") print(f"Set Two: {number_set_copy}")
출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Set One: {1, 2, 3, 4, 5, 6} Set Two: {1, 2, 3, 4, 5, 6}
예상대로 두 번째 세트를 변경하면 첫 번째 세트도 변경되었습니다. 그것을 피하는 방법은 무엇입니까?
얕은을 사용할 수 있습니다. 세트를 복사합니다. 세트를 얕은 복사하는 방법에는 여러 가지가 있습니다. 방법 중 하나는 set의 복사 방법을 사용하는 것입니다. .
예
복사가 포함된 샘플 예를 살펴보겠습니다. .
# initialzing the set number_set = {1, 2, 3, 4, 5} # shallow copy using copy number_set_copy = number_set.copy() # changing the first value of number_set_copy number_set_copy.add(6) # printin the both sets print(f"Set One: {number_set}") print(f"Set Two: {number_set_copy}")
출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Set One: {1, 2, 3, 4, 5} Set Two: {1, 2, 3, 4, 5, 6}
출력을 보면 첫 번째 set에서 변경 사항을 찾을 수 없습니다. .
결론¶
튜토리얼에 대해 궁금한 점이 있으면 댓글 섹션에 언급하세요.