๐study archive/python ๋ฌธ๋ฒ
[ํ์ด์ฌ ๋ฌธ๋ฒ] deep copy, shallow copy(๊น์๋ณต์ฌ์ ์์๋ณต์ฌ)
Hush
2021. 9. 4. 15:47
๋ค์ ์ฝ๋๋ฅผ ์ดํด๋ณด์
list1=[1,2,3]
list2=list1
list3=list1[:]
์ด๋ list2์ list3๋ฅผ ์ถ๋ ฅํด ๋ณด๋ฉด ๋์ผํ๊ฒ [1,2,3]์ด ๋์ฌ ๊ฒ์ด๋ค. ํ๋ ๋ ๋์
์ฐ์ฐ์ ์์ฐํ ๋ค๋ฅด๋ค.
์ถ๊ฐ๋ก ์ด๋ฐ ์ฝ๋๊ฐ ์์ฑ๋์ด์๋ค๊ณ ์๊ฐํด๋ณด์
list2[1]='a'
print(list1)
๊ฒฐ๊ณผ๋ [1,'a',3]์ด ๋์จ๋ค.
๋ฐ๋ฉด
list3[1]='a'
print(list1)
์ด๋ ๊ฒฐ๊ณผ๋ [1,2,3]์ด ๋์จ๋ค.
๋ ๋ฐฉ๋ฒ์ ๋์ผํ๊ฒ ๋ฆฌ์คํธ๋ฅผ ๋ณต์ฌํ๋ ๊ฒ ๊ฐ์ง๋ง ๋ณต์ฌ์ ๊น์ด๊ฐ ๋ค๋ฅด๋ค. ๋ฆฌ์คํธ๋ฅผ ํ์ฉํด ์ฝ๋์์ฑ์ ์ฃผ์ํด์ผ ํ๋ ๋ถ๋ถ์ด๋ค.