๋ฆฌ์คํธ ๋ณต์ฌ ํ ์ ๋ ฌ (์๋ชป๋ ๋ฐฉ๋ฒ)
list1 = [3,2,1]
list2 = list1
list2.sort()
print (list1)
print (list2)
์์ ๊ฐ์ด ์์ฑ ํ ์ถ๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด ๋์จ๋ค.
list2๋ง ์ ๋ ฌํ๋๋ฐ list1๊น์ง ์ ๋ ฌ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค. list2๋ list1์ ๊ทธ๋๋ก ๋ณต์ฌํ์ฌ ์๋ก ์์ฑ๋ ๊ฒ์ด ์๋๋ผ, list2๋ list1์ [3,2,1]์ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ์ผ ๋ฟ์ด๋ค.
์ฆ, list1๊ณผ list2๋ผ๋ ๋ณ์๋ค์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ทผํ๊ณ ์๊ธฐ ๋๋ฌธ์, list2๋ฅผ ์ ๋ ฌํ๋ฉด list1์ด ๊ฐ๋ฆฌํค๋ [3,2,1]์ ์ ๋ ฌํ๋ ๊ฒ๊ณผ ๊ฐ์์ ์์ ๊ฐ์ด ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
๋ฆฌ์คํธ ๋ณต์ฌ ํ ์ ๋ ฌ (์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ, deep copy)
list1 = [3,2,1]
list2 = [i for i in list1]
list2.sort()
print (list1)
print (list2)
์์ ๊ฐ์ด ์์ฑ ํ ์ถ๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด ๋์จ๋ค.
์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋๋ก list1์ ์ ๋ ฌ์ด ๋์ง ์์๊ณ , list2๋ ์ ๋ ฌ์ด ๋์๋ค. list2์ ๋ํ ์๋ก์ด ์ ์๋ฅผ ๋ด๋ฆฌ๊ธฐ ์ํด [i for i in list1]์ ์ฌ์ฉํ์๋ค.
"list1์ ์๋ ์์๋ค์ ๋ถ๋ฌ์ list2์ ๋ฆฌ์คํธ๋ฅผ ์ฑ์๋ผ!"
์ฆ list1, list2๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ณ์์ด๊ธฐ์ ๋น์ฐํ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๋ค.
ํ์ง๋ง, ์์ ๊ฐ์ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์๋ค.
๋ฆฌ์คํธ ๋ณต์ฌ ํ ์ ๋ ฌ in Python3
list1 = [3, 2, 1]
list2 = sorted(list1)
print (list1)
print (list2)
'sorted'์ ์์ด ํด์์ '์ ๋ ฌ๋'์ด๋ค. ์ด๋ฏธ list1์ด ์ ๋ ฌ๋ ๊ฒ์ list2์ ์ ์ฅํ๊ฒ ๋ค๋ ๊ฒ์ด๋ค.
์ด๋ ต์ง ์๊ณ ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ผ ์ ํธ๋๋ค.