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]
위와 같은 상황을 방지하기 위해서
- [:] 이용
<code />
c=[1,2,3]
d=c[:]
c[1]=4
print(c)
print(d)
<code />
[1, 4, 3]
[1, 2, 3]
- 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
'파이썬 > 파이썬 기초' 카테고리의 다른 글
Python을 활용 Excel 파일 생성 및 내용 수정 (9) | 2022.12.29 |
---|---|
파이썬 pandas columns 인덱스삭제(컬럼명이 같을 경우) (0) | 2022.12.14 |
파이썬과 R에서 같은 난수 발생 패키지 SyncRNG (0) | 2022.12.14 |
파이썬 문자열 (0) | 2022.12.12 |
파이썬 실수값의 오차 (0) | 2022.12.12 |