์์์ ํ์ด์ฌ์ ๋ฆฌ์คํธ์ ๊ดํด ๋ฐฐ์ ๋๋ฐ,
2์ฐจ์ ๋ฆฌ์คํธ๋ ์ด๋ป๊ฒ ๋ง๋ค๊น?
♣ 2์ฐจ์ ๋ฆฌ์คํธ
- ์ง์ ๊ฐ ๋ฃ์ด 2์ฐจ์ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
age = [[10, 11, 12], [13, 14, 15], [16, 17, 18]]
<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
- ํฌ๊ธฐ๋ง ์ ํ๊ณ ์ํ๋ ๊ฐ์ผ๋ก ์ด๊ธฐํํ์ฌ 2์ฐจ์ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
# ํ ๊ฐ์
n = 3
# ์ด ๊ฐ์
m = 4
# 0์ผ๋ก ์ด๊ธฐํ๋ 2์ฐจ์ ๋ฆฌ์คํธ
age = [[0]*m for _ in range(n)]
<๊ฒฐ๊ณผ>
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
- ์์ ๊ฐ์ ์ง์ ์
๋ ฅ ๋ฐ์ 2์ฐจ์ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
# ํ๊ณผ ์ด์ ์
๋ ฅํ๋ค.
n = int(input())
age = []
# ์
๋ ฅํ ํ์ ์ ๋งํผ ๋ฐ๋ณตํ๋ค.
for _ in range(n):
# ์ด์ ๋ค์ด๊ฐ ์์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ๋ฐ๋๋ค.
row = list(map(int, input().split()))
# row์ ๊ฐ๋ค์ age ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
age.append(row)
<์
๋ ฅ>
3
1 2 3
4 5 6
7 8 9
<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
- ์ปดํ๋ฆฌํจ์
์ ์ฌ์ฉํ์ฌ ๋ ๊ฐ๋จํ๊ฒ 2์ฐจ์ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
# ํ์ ์
๋ ฅ๋ฐ๋๋ค.
n = int(input())
# n๋งํผ ๋ฐ๋ณตํ๊ณ , ์ซ์๋ฅผ ์
๋ ฅํ์ฌ, ์ด์ ์ฑ์ด๋ค.
age = [list(map(int, input().split())) for _ in range(n)]
<์
๋ ฅ>
3
1 2 3
4 5 6
7 8 9
<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
♣ ์ฃผ์
age = [[0]*4]*3
<๊ฒฐ๊ณผ>
[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
๊ฒ์ผ๋ก ๋ณด๊ธฐ์ ์ ๋ง๋ค์ด์ง ๋ฆฌ์คํธ๋ก ๋ณด์ธ๋ค. ์ฌ๊ธฐ์ age[0][0] = 99๋ฅผ ํด๋ณด๊ฒ ๋ค.
age = [[0]*4]*3
age[0][0] = 99
<๊ฒฐ๊ณผ>
[[99, 0, 0, 0], [99, 0, 0, 0], [99, 0, 0, 0]]
age[0][0]๋ง ๋ฐ๊ฟจ๋๋ฐ age[1][0]๊ณผ age[2][0]๋ ๊ฐ์ด ๋ฐ๋์๋ค. 0๋ฒ์งธ ํ๊ณผ 1๋ฒ์งธ ํ, 2๋ฒ์งธ ํ์ ์ฃผ์๊ฐ์ ํ์ธํด๋ณด์.
print(age[0]is age[1])
print(age[1]is age[2])
<๊ฒฐ๊ณผ>
True
True
ํ์ธ ๊ฒฐ๊ณผ ์ฃผ์๊ฐ์ด ๊ฐ์ ๊ฒ์ ์ ์ ์๋ค. ์ด๋ป๊ฒ ๋๊ฑธ๊น?
age = [[0]*4]*3
์ด ์ฝ๋๋ฅผ ๋ถ์ํด๋ณด์. [0]*4๋ 0์ 4๋ฒ ๋ฃ์ด์ ํ๋์ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ง๋ ๋ฆฌ์คํธ๋ฅผ 3๋ฒ ๊ณฑํ์ฌ ์ด์ค ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค. ์ฆ, [0, 0, 0, 0] ๋ฆฌ์คํธ๋ฅผ ๋ณต์ฌํ์ฌ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] ๋ง๋ ๋ค๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๋ณต์ฌํ๋ค๋ ์ ์ด๋ค. ์ฃผ์๋ฅผ ๋ณต์ฌํ์ฌ ๋๊ฐ์ ๋ฆฌ์คํธ๊ฐ ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ age[0][0]์ ๊ฐ์ ๋ฐ๊พธ๋ฉด ๊ฒฐ๊ตญ age[1][0]๋ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ํจ๊ป ๋ฐ๋๊ฒ ๋๋ค.