๐Ÿ“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]์ด ๋‚˜์˜จ๋‹ค.

๋‘ ๋ฐฉ๋ฒ•์€ ๋™์ผํ•˜๊ฒŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋ณต์‚ฌ์˜ ๊นŠ์ด๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ์ž‘์„ฑ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.