Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 copy() 설정

<시간/>

이 튜토리얼에서는 복사에 대해 알아볼 것입니다. 메소드 세트 데이터 구조. 자세히 보시죠.

복사 방법 얕은 사본을 얻는 데 사용됩니다. 세트입니다.

정상에서 다른 예를 살펴보겠습니다. 및 얕은 세트 사본.

일반 복사

아래 단계에 따라 결과를 이해하세요.

  • 세트를 초기화합니다.
  • 할당 연산자를 사용하여 집합을 다른 변수에 할당합니다.
  • 이제 복사한 집합에 요소를 하나 더 추가합니다.
  • 두 세트를 모두 인쇄합니다.

당신은 사이에 어떤 차이도 찾을 수 없습니다. 할당 연산자는 참조 집합을 반환합니다. . 두 세트 모두 메모리의 동일한 객체를 가리키고 있습니다. 따라서 둘 중 하나에 대한 변경 사항은 둘 다에 반영됩니다.

# 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에서 변경 사항을 찾을 수 없습니다. .

결론¶

튜토리얼에 대해 궁금한 점이 있으면 댓글 섹션에 언급하세요.