python์์ ์ธ๋ฑ์ฑ์ ๋ฌธ์์ด์ด๋ ๋ฆฌ์คํธ ๋ด๋ถ ์์ ํ๋๋ฅผ ์ ํํ๋ ์ฐ์ฐ์์ด๋ฉฐ, ์ฌ๋ผ์ด์ฑ์ ๋ฌธ์์ด์ด๋ ๋ฆฌ์คํธ์ ํน์ ๋ฒ์๋ฅผ ์ ํํ ๋ ์ฌ์ฉํ๋ ์ฐ์ฐ์์ ๋๋ค.
โฃ ๋ชฉ์ฐจ
python ์ธ๋ฑ์ฑ๊ณผ์ฌ๋ผ์ด์ฑ์ ํนํ ์ปฌ๋ ์ ์๋ฃํ์ธ ๋ฆฌ์คํธ์์ ๋ง์ด ํ์ฉ๋ฉ๋๋ค. ํด๋น ๋ด์ฉ์ ์๋ ํฌ์คํ ์ ํ์ธํด ์ฃผ์ธ์ ๐
1. ๋ฌธ์์ด ์ธ๋ฑ์ฑ๐
์ธ๋ฑ์ฑ์ ๋ฌธ์ ์ ํ ์ฐ์ฐ์์ ๋๋ค. ๋ฌธ์ ์ ํ ์ฐ์ฐ์๋ ๋ฌธ์์ด ๋ด๋ถ์ ๋ฌธ์ ํ๋๋ฅผ ์ ํํ๋ ์ฐ์ฐ์์ ๋๋ค.
๋๊ดํธ[ ] ์์ ์ ํํ ๋ฌธ์์ ์์น๋ฅผ ์ง์ ํ๋ฉฐ, ์ด ์ซ์๋ฅผ ์ธ๋ฑ์ค๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
ํ์ด์ฌ์์ ์ธ๋ฑ์ค๋ ์ซ์๋ฅผ 0๋ถํฐ ์ ๋๋ค.
p | y | t | h | o | n |
[0] | [1] | [2] | [3] | [4] | [5] |
๋๊ดํธ ์์ ์ซ์๋ฅผ ์์๋ก ์ ๋ ฅํ๋ฉด ๋ค์์๋ถํฐ ์ ํํ ์ ์์ต๋๋ค. ๋ฌธ์์ด์ ๋ง์ง๋ง์ -1๋ถํฐ ์์ํฉ๋๋ค.
p | y | t | h | o | n |
[-6] | [-5] | [-4] | [-3] | [-2] | [-1] |
๋ํ ๊ณต๋ฐฑ๋ ๊ธ์์ด๋ฏ๋ก ์ธ๋ฑ์ฑ์ ํฌํจ์ด ๋ฉ๋๋ค.
a = 'My python'
print(a[0]) # M
print(a[1]) # y
print(a[2]) #
print(a[3]) # p
print(a[4]) # y
print(a[5]) # t
print(a[6]) # h
print(a[7]) # o
print(a[8]) # n
2. ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ๐
๋ฌธ์์ด์ ์ฌ๋ผ์ด์ฑ์ ํน์ ๋ฒ์๋ฅผ ์ถ์ถํ ๋ ์ฌ์ฉํ๋ ์ฐ์ฐ์์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ฌธ์์ด์ ๋ ๋ฒ์งธ ๋ฌธ์๋ถํฐ ๋ค ๋ฒ์งธ ๋ฌธ์๊น์ง ์ ํํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ฒ์๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๋๋ค.
๋ฒ์๋ ๋๊ดํธ [ ] ์์ ์์น๋ฅผ ์ฝ๋ก : ์ผ๋ก ๊ตฌ๋ถํด์ ์ง์ ํฉ๋๋ค.
ํ์ด์ฌ์์๋ ๋ฒ์ ์ง์ ์ ๋ง์ง๋ง ์ซ์๋ฅผ ํฌํจํ์ง ์์ต๋๋ค.
์ฆ, [์์ ๋ฒํธ : ๋ ๋ฒํธ + 1] ์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด ์ํ๋ ์์๊น์ง ์ถ์ถํ ์ ์์ต๋๋ค.
p | y | t | h | o | n |
[0] | [1] | [2] | [3] | [4] | [5] |
print('python'[1:3]) # yt
print('python'[2:5]) # tho
๋, ๋ฌธ์์ด ๋ฒ์ ์ ํ ์ฐ์ฐ์๋ ๋๊ดํธ ์์ ๋ฃ๋ ์ซ์ ๋ ์ค ํ๋ ๋๋ ๋ชจ๋ ์๋ตํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๊ฐ์ ์๋ตํ ๋๋ ์๋์ผ๋ก ๊ฐ์ฅ ๋ง์ง๋ง ๊ธ์๊น์ง, ์์ ๊ฐ์ ์๋ตํ ๋๋ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ๊ธ์๊น์ง ์ง์ ํฉ๋๋ค.
์ซ์ ๋ชจ๋๋ฅผ ์๋ต ํ๋ฉด ์ฒ์๋ถํฐ ๋๊น์ง ๋ชจ๋๋ฅผ ์ง์ ํ๊ฒ ๋ฉ๋๋ค.
print('python'[:]) # python
print('python'[:3]) # pyt
print('python'[2:]) # thon
3. ๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ๐
๋ฌธ์์ด์ ์๋ฅผ ๋๋ ๊ธ์๋ฅผ ์ ํํ ๋ IndexError ์์ธ๋ฅผ ๋ง๋๊ฒ ๋ฉ๋๋ค.
๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ์ฌ ๋ฏธ๋ฆฌ ๋ฌธ์์ด์ ์๋ฅผ ์๊ฒ ๋๋ค๋ฉด IndexError ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์์ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ ๋๋ len() ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
len() ํจ์์ () ๋ด๋ถ์ ๋ฌธ์์ด์ ๋ฃ์ผ๋ฉด ๋ฌธ์์ด์ ๋ค์ด์๋ ๋ฌธ์์ ๊ฐ์๋ฅผ ์ธ์ด์ค๋๋ค.
print(len('python')) # 6
4. ๋ฆฌ์คํธ ์ธ๋ฑ์ฑ๐
๋ฌธ์์ด ์ธ๋ฑ์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์คํธ ์ธ๋ฑ์ฑ ๋ํ ๋๊ดํธ[ ] ์์ ์ ํํ ์์์ ์์น๋ฅผ ์ง์ ํ๋ฉฐ, ๋ฆฌ์คํธ๋ ์ธ๋ฑ์ฑ์ ์ด์ค์ผ๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
a = [1, 2, 'python', 'a', 'b', '์๋
', 'ํ์ธ์']
print(a[2]) # python
print(a[2][0]) # p
์์ ๊ฐ์ด a๋ผ๋ ๋ฆฌ์คํธ์์ a[2]๋ฅผ ์ง์ ํ๋ฉด 'python'์ ๊บผ๋ด์ค๊ณ a[2][0]์ ์ง์ ํ๋ฉด 2๋ฒ์งธ์์ ๊ฐ์ ธ์จ 'python'์์ ๋ค์ 0๋ฒ์งธ๋ฅผ ๊ฐ์ ธ์ ์ถ๋ ฅํฉ๋๋ค.
๋ฆฌ์คํธ ์์ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ง ์ ์๋ ์ค์ฒฉ๋ฆฌ์คํธ์ ์์๋ ์๋์ ๊ฐ์ด ์ฐพ์ ์ ์์ต๋๋ค.
f = [1, 2, ['a', 'b', ['์๋
', 'ํ์ธ์']]]
print(f[2]) # ['a', 'b', ['์๋
', 'ํ์ธ์']]
print(f[2][2]) # ['์๋
', 'ํ์ธ์']
print(f[2][2][0]) # ์๋
์์ ๊ฐ์ด f๋ผ๋ ๋ฆฌ์คํธ์์ f[2]๋ฅผ ์ง์ ํ๋ฉด ['a', 'b', ['์๋
', 'ํ์ธ์']]์ ๊บผ๋ด์ค๊ณ
1 | 2 | [ a | b | [ ์๋ | ํ์ธ์ ] ] |
[0] | [1] | [2] |
f[2][2]์ ์ง์ ํ๋ฉด 2๋ฒ์งธ์์ ๊ฐ์ ธ์จ ['a', 'b', ['์๋
', 'ํ์ธ์']] ์์ ๋ค์ 2๋ฒ์งธ๋ฅผ ๊ฐ์ ธ์จ ํ
a | b | [ ์๋ | ํ์ธ์ ] |
[0] | [1] | [2] |
f[2][2][0]์ ์ง์ ํ๋ฉด 2๋ฒ์งธ์์ ๊ฐ์ ธ์จ ['a', 'b', ['์๋
', 'ํ์ธ์']] ์์ ๋ 2๋ฒ์งธ์์ ๊ฐ์ ธ์จ ['์๋
', 'ํ์ธ์']์์ ๋ค์ 0๋ฒ์งธ๋ฅผ ๊ฐ์ ธ์ ์ถ๋ ฅํฉ๋๋ค.
์๋ | ํ์ธ์ |
[0] | [1] |
5. ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ๐ฅช
๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ๋ ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํน์ ์์์ ๋ฒ์๋ฅผ ์ถ์ถํ ๋ ์ฌ์ฉ๋๋ฉฐ ๋๊ดํธ [ ] ์์ ์์น๋ฅผ ์ฝ๋ก : ์ผ๋ก ๊ตฌ๋ถํด์ ์ง์ ํ๋ฉฐ ๋ฒ์ ์ง์ ์ ๋ง์ง๋ง ์ซ์๋ฅผ ํฌํจํ์ง ์์ต๋๋ค.
b = [1, 2, 3, ['b', 'c', 'd'], 4, 5]
print(b[2:5]) # [3, ['b', 'c', 'd'], 4]
print(b[3][:2]) # ['b', 'c']
์์ ๊ฐ์ด b๋ผ๋ ๋ฆฌ์คํธ์์ b[2:5]๋ฅผ ์ง์ ํ๋ฉด 2๋ฒ ์ธ๋ฑ์ค ์์์ธ 3๋ถํฐ 5๋ฒ์งธ ์์ ์ (๋ง์ง๋ง ์ซ์๋ฅผ ํฌํจํ์ง ์์)์ 4๋ฒ ์ธ๋ฑ์ค ์์์ธ 4๊น์ง [3, ['b', 'c', 'd'], 4]๋ฅผ ์ถ์ถํฉ๋๋ค.
1 | 2 | 3 | [ b | c | d ] | 4 | 5 |
[0] | [1] | [2] | [3] | [4] | [5] |
์ด๋ฒ์๋ b๋ผ๋ ๋ฆฌ์คํธ์์ b[3][:2]๋ฅผ ์ง์ ํ๋ฉด 3๋ฒ ์ธ๋ฑ์ค์ ์์์ธ ['b', 'c', 'd']์์
1 | 2 | 3 | [ b | c | d ] | 4 | 5 |
[0] | [1] | [2] | [3] | [4] | [5] |
๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ์์์ธ b๋ถํฐ 2๋ฒ์งธ ์์ ์์ 1๋ฒ ์ธ๋ฑ์ค ์์์ธ c๊น์ง ์ถ์ถํฉ๋๋ค.
[ b | c | d ] | |||||
[3] | |||||||
[0] | [1] | [2] |
6. ํต์ฌ๋ด์ฉ๐