DataScience
728x90

파이썬에서는 같다 라고 선언하면 주소값 까지 같다고 본다.

그래서 추후에 한쪽 변수를 바꿔줘도 다른 한쪽 변수가 변하는 상황이 생긴다.

<code />
a = [1,2,3] b = a print(id(a)) print(id(b))
<code />
1906865579072 1906865579072

a[1]을 4로 바꿔줫더니 b도 바뀌는 상황이 발생한다.

<code />
a[1] = 4 print(a) print(b)
<code />
[1, 4, 3] [1, 4, 3]

위와 같은 상황을 방지하기 위해서

  1. [:] 이용
<code />
c=[1,2,3] d=c[:] c[1]=4 print(c) print(d)
<code />
[1, 4, 3] [1, 2, 3]
  1. copy모듈 이용
<code />
from copy import copy e=[1,2,3] f=copy(e) e[1]=4 print(e) print(f)
<code />
[1, 4, 3] [1, 2, 3]

또한 두 변수의 값을 바꾸는 경우 파이썬은 아주 간단하게 바꿀 수 있다.

<code />
a = 3 b = 5 a, b = b, a print("a=",a,"b=",b)
<code />
a= 5 b= 3
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!