๐ํ์: ๊น๋ฏผ์, ๋์์ฐ, ๋ฐฐ๋์ค, ์ ์์, ์ํจ์
๐๊ธฐ๊ฐ: 3/5(ํ) ~ 3/11(์) # 1์ฃผ์ฐจ
๐ํ์ต ๋ฒ์: p.10 ~ 97
๐๋ชฉ์ฐจ
1. ๊ธฐ๋ณธ ์ฐ์ฐ์
2. ์ด์ค์ผ์ดํ ์ฝ๋(escape code)๋ ๋ฌด์์ผ๊น?
3. ๊ฐ์ข ํจ์(if, for, while) ๊ทธ๋ฆฌ๊ณ def
4. ๋ฌธ์์ด ์ฐ์ฐ, ๋ฌธ์์ด ํฌ๋งคํ
5. ๋ฆฌ์คํธ๋?
6. ํํ ์๋ฃํ
7. ๋์ ๋๋ฆฌ ์๋ฃํ
1. ๊ธฐ๋ณธ ์ฐ์ฐ์ (์์ฑ์: ์ํจ์ )
1-1. ์ฌ์น์ฐ์ฐ
1-2. ๋ณ์๋ฅผ ์ฌ์ฉํ ์ซ์ ๊ณ์ฐ
1-3. ๋ณ์์ ๋ฌธ์ ๋์ ํ๊ณ ์ถ๋ ฅํ๊ธฐ
- ํ์ด์ฌ์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ๋ค. print๋ฅผ PRINT๋ก ์ฐ๋ฉด ์ ์๋์ง ์์๋ค๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์๋ค.
2. ์ด์ค์ผ์ดํ ์ฝ๋(escape code)๋ ๋ฌด์์ผ๊น? (์์ฑ์: ์ํจ์ )
- ํ๋ก๊ทธ๋๋ฐํ ๋ ์ฌ์ฉํ ์ ์๋๋ก ๋ฏธ๋ฆฌ ์ ์ํด ๋ '๋ฌธ์ ์กฐํฉ'์ ๋งํ๋ค.
- ์ฃผ๋ก ์ถ๋ ฅ๋ฌผ์ ๋ณด๊ธฐ ์ข๊ฒ ์ ๋ ฌํ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ค.
3. ๊ฐ์ข ํจ์(if, for, while) ๊ทธ๋ฆฌ๊ณ def (์์ฑ์: ์ํจ์ )
3-1. ์กฐ๊ฑด๋ฌธ if
3-2. ๋ฐ๋ณต๋ฌธ for
- '[1, 2, 3] ๋ฆฌ์คํธ์ ์์์๋ถํฐ ํ๋์ฉ ๊บผ๋ด a ๋ณ์์ ๋์ ํ ํ print(a)๋ฅผ ์ํํ๋ผ'๋ผ๋ ์๋ฏธ์ด๋ค.
3-3. ๋ฐ๋ณต๋ฌธ while
- 'i ๊ฐ์ด 3๋ณด๋ค ์์ ๋์ i = i + 1๊ณผ print(i)๋ฅผ ์ํํ๋ผ'๋ผ๋ ์๋ฏธ์ด๋ค.
- i = i + 1์ด๋ผ๋ ๋ฌธ์ฅ์ 'i์ ๊ฐ์ 1์ฉ ๋ํ๋ค'๋ผ๋ ์๋ฏธ์ด๋ค.
3-4. def
- def๋ ํ์ด์ฌ์์ ํจ์๋ฅผ ์ ์ํ ๋ ์ฌ์ฉํ๋ ์์ฝ์ด์ด๋ค.
- ํจ์ add๋ฅผ ๋ง๋ค๊ณ , a,b๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ฉด a+b๋ฅผ ์ํํ๊ณ ๊ทธ ๊ฒฐ๊ด๊ฐ์ ๋ฆฌํดํ๋ ํจ์๋ก ์ ์ํ๋ค.
4. ๋ฌธ์์ด ์ฐ์ฐ(์์ฑ์: ์ ์์)
โถ ๋ฌธ์์ด์ด๋?
๋ฌธ์์ด (string) ์ด๋ ์ฐ์๋ ๋ฌธ์๋ค์ ๋์ด์ ๋งํ๋ค.
์ด๋ ๋ฐ์ดํ๋ก ๋๋ฌ์ธ์ฌ ์์ผ๋ฉด ๋ชจ๋ ๋ฌธ์์ด์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
โ ๋ฌธ์์ด์ ๋ง๋๋ ๋ฐฉ๋ฒ 4๊ฐ์ง
1) ํฐ๋ฐ์ดํ๋ก ์์ชฝ ๋๋ฌ์ธ๊ธฐ
"Code"
2) ์์๋ฐ์ดํ๋ก ์์ชฝ ๋๋ฌ์ธ๊ธฐ
'Code'
3) ํฐ๋ฐ์ดํ 3๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์จ์ ์์ชฝ ๋๋ฌ์ธ๊ธฐ
"""Code"""
4) ์์๋ฐ์ดํ 3๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์จ์ ์์ชฝ ๋๋ฌ์ธ๊ธฐ
'''Code'''
โ ๋ฌธ์์ด ์์ ๋ฐ์ดํ๋ฅผ ํฌํจํ๋ ๋ฒ
1) ๋ฌธ์์ด์ ์์๋ฐ์ดํ ํฌํจํ๊ธฐ
๋ฌธ์์ด์ ์์๋ฐ์ดํ๊ฐ ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ : ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ๋ก ๋๋ฌ์ธ๊ธฐ
"Python's favorite food is perl"
2) ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ ํฌํจํ๊ธฐ
๋ฌธ์์ด์ ํฐ๋ฐ์ดํ๊ฐ ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ : ๋ฌธ์์ด์ ์์๋ฐ์ดํ๋ก ๋๋ฌ์ธ๊ธฐ
'"Python is very easy." he says.'
3) ์ญ์ฌ๋์๋ฅผ ์ฌ์ฉํด์ ์์๋ฐ์ดํ์ ํฐ๋ฐ์ดํ๋ฅผ ๋ฌธ์์ด์ ํฌํจํ๊ธฐ
์ญ์ฌ๋์(\)๋ฅผ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ ์์ ์ฝ์ ํ๋ฉด ์ญ์ฌ๋์ ๋ค์ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ ๋ฌธ์์ด์ ๋๋ฌ์ธ๋ ์๋ฏธ๊ฐ ์๋๋ผ '๋ " ์์ฒด๋ฅผ ๋ปํ๊ฒ ๋๋ค.
"Python\'s favorite food is perl"
'\"Python is very easy.\" he says.'
โ ์ฌ๋ฌ ์ค์ธ ๋ฌธ์์ด์ ๋ณ์์ ๋์ ํ๊ณ ์ถ์ ๋
1) ์ค์ ๋ฐ๊พธ๊ธฐ ์ํ ์ด์ค์ผ์ดํ ์ฝ๋ \n ์ฝ์ ํ๊ธฐ
* ํค๋ณด๋์์ โฉ๋ฅผ ๋๋ฅด๋ฉด ์ญ์ฌ๋์ ๊ธฐ๋ฅ์ ํ ์ ์๋ค.
2) ์ฐ์๋ ์์๋ฐ์ดํ 3๊ฐ ๋๋ ํฐ๋ฐ์ดํ 3๊ฐ ์ฌ์ฉํ๊ธฐ
โถ ๋ฌธ์์ด ์ฐ์ฐํ๊ธฐ
โ ๋ฌธ์์ด ๋ํด์ ์ฐ๊ฒฐํ๊ธฐ
โ ๋ฌธ์์ด ๊ณฑํ๊ธฐ
โถ ๋ฌธ์์ด ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ
๋ฌธ์์ด์ ๊ธธ์ด๋ len ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ ์ ์๋ค.
์ด๋ ๋ค์ ๋ ๊ฐ์ง๋ฅผ ์ฃผ์ํด์ผ ํ๋ค.
โท ๋ฌธ์์ด์ ๊ธธ์ด์๋ ๊ณต๋ฐฑ ๋ฌธ์๋ ํฌํจ๋๋ค.
โทํ์ด์ฌ์ 0๋ถํฐ ์ซ์๋ฅผ ์ผ๋ค.
โ ๋ฌธ์์ด ์ธ๋ฑ์ฑ
๋ฌธ์์ด ์ธ๋ฑ์ฑ์ ํ ๋๋ ๋๊ดํธ ์์ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ ์ซ์์ ๋์๋๋ ๊ธ์๋ฅผ ์ฐพ์ ์ ์๋ค.
์ด๋ ์์์๋ถํฐ ๊ธ์๋ฅผ ์ ๋๋ a[1]๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก, ๋ค์์๋ถํฐ ์ซ์๋ฅผ ์ ๋๋ -๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ a[-1]๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ๋ ฅํ๋ฉด ๋๋ค.
โ ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ
๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ์ ๋๊ดํธ ์์ : ๊ธฐํธ๋ฅผ ์ฝ์ ํ์ฌ [์์๋ฒํธ : ๋๋ฒํธ]์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋๋ค. ์ด๋, ์ ์ซ์๋ ํฌํจ๋๊ณ ๋ท ์ซ์๋ ํฌํจ๋์ง ์๋ ๊ฒ์ ์ฃผ์ํด์ผ ํ๋ค.
๋ฌธ์์ด ํฌ๋งคํ ์ด๋?
๋ฌธ์์ด ์์ ์ด๋ค ๊ฐ์ ์ฝ์ ํ๋ ๋ฐฉ๋ฒ
๋ฌธ์์ด ํฌ๋งคํ ๋ฐ๋ผ ํ๊ธฐ
1. ์ซ์ ๋ฐ๋ก ๋์
"I eat %d apples." %3
>>'I eat 3 apples.'
%d๋ ๋ฌธ์์ด ํฌ๋งท ์ฝ๋
2. ๋ฌธ์์ด ๋ฐ๋ก ๋์
"I eat %s apples." %"five"
>>'I eat five apples.'
๋ฌธ์์ด : %s
์ซ์ : %d
3. ์ซ์ ๊ฐ์ ๋ํ๋ด๋ ๋ณ์๋ก ๋์
number = 3
"I eat %d apples." %number
>>'I eat 3 apples.'
4. 2๊ฐ ์ด์์ ๊ฐ ๋ฃ๊ธฐ
2๊ฐ ์ด์์ ๊ฐ์ ๋ฃ์ผ๋ ค๋ฉด ๋ง์ง๋ง %๋ค์ ๊ดํธ ์์ ์ผํ ( , )๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ๊ฐ์ ๊ฐ์ ๋ฃ์ด์ค๋ค.
๋ฌธ์์ด ํฌ๋งท ์ฝ๋
์ฝ๋ | ์ค๋ช |
%s | ๋ฌธ์์ด |
%c | ๋ฌธ์ 1๊ฐ |
%d | ์ ์ |
%f | ๋ถ๋์์ |
%o | 8์ง์ |
%x | 16์ง์ |
%% | Literal% (๋ฌธ์%์์ฒด) |
format ํจ์๋ฅผ ์ฌ์ฉํ ํฌ๋งคํ
์ซ์ ๋ฐ๋ก ๋์ ํ๊ธฐ
"I eat {0} apples".format(3)
>>'I eat 3 apples'
๋ฌธ์์ด ๋ฐ๋ก ๋์ ํ๊ธฐ
"I eat {0} apples".format("five")
>>'I eat five apples'
์ซ์ ๊ฐ์ ๊ฐ์ง ๋ณ์๋ก ๋์ ํ๊ธฐ
number = 3
"I eat {0} apples".format(number)
>>'I eat 3 apples'
2๊ฐ ์ด์์ ๊ฐ ๋ฃ๊ธฐ
2๊ฐ ์ด์์ ๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค ํญ๋ชฉ์ด format ํจ์์ ์ ๋ ฅ๊ฐ์ผ๋ก ์์์ ๋ง๊ฒ ๋ฐ๋๋ค.
์ด๋ฆ์ผ๋ก ๋ฃ๊ธฐ
์ธ๋ฑ์ค ํญ๋ชฉ ๋์ ๋ ํธ๋ฆฌํ {name} ํํ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค. {name} ํํ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, format ํจ์์๋ ๋ฐ๋์ name = value์ ๊ฐ์ ํํ์ ์ ๋ ฅ๊ฐ์ด ์์ด์ผ ํ๋ค.
*์ธ๋ฑ์ค์ ์ด๋ฆ์ ํผ์ฉํด์ ๋ฃ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ผ์ชฝ ์ ๋ ฌ
"{0:<10}".format("hi")
>>'hi '
:<10 ---- ์นํ๋๋ ๋ฌธ์์ด์ ์ผ์ชฝ์ผ๋ก ์ ๋ ฌํ๊ณ ๋ฌธ์์ด์ ์ด ์๋ฆฟ์๋ฅผ 10์ผ๋ก ๋ง์ถค
์ค๋ฅธ์ชฝ ์ ๋ ฌ
"{0:>10}".format("hi")
>>' hi'
:>10 ---- ์นํ๋๋ ๋ฌธ์์ด์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌํ๊ณ ๋ฌธ์์ด์ ์ด ์๋ฆฟ์๋ฅผ 10์ผ๋ก ๋ง์ถค
๊ฐ์ด๋ฐ ์ ๋ ฌ
:^ ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ด๋ฐ ์ ๋ ฌ๋ ๊ฐ๋ฅํ๋ค.
๊ณต๋ฐฑ ์ฑ์ฐ๊ธฐ
์ ๋ ฌํ ๋ ๊ณต๋ฐฑ ๋ฌธ์ ๋์ ์ง์ ํ ๋ฌธ์ ๊ฐ์ผ๋ก ์ฑ์ ๋ฃ์ ์๋ ์๋ค.
์ฑ์ ๋ฃ์ ๋ฌธ์ ๊ฐ์ ์ ๋ ฌ ๋ฌธ์ <,>,^ ๋ฐ๋ก ์์ ๋ฃ์ด์ผ ํ๋ค.
์์์ ํํํ๊ธฐ
y = 3.42134234
"{0:0.4f}".format(y)
>>'3.4213'
*format ํจ์๋ฅผ ์ฌ์ฉํด ์์์ ์ 4์๋ฆฌ๊น์ง๋ง ํํ
"{0:10.4f}".format(y)
>>' 3.4213'
*์๋ฆฟ์๋ฅผ 10์ผ๋ก ๋ง์ถ๊ณ 10.4f์ ํํ์ ์ฌ์ฉ
{๋๋} ๋ฌธ์ ํํํ๊ธฐ
format ํจ์๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ ํฌ๋งคํ ํ ๊ฒฝ์ฐ, { }์ ๊ฐ์ ์ค๊ดํธ ๋ฌธ์๋ฅผ ํฌ๋งคํ ๋ฌธ์๊ฐ ์๋ ๋ฌธ์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ { { } } ์ฒ๋ผ 2๊ฐ๋ฅผ ์ฐ์ํด์ ์ฌ์ฉํ๋ค.
f ๋ฌธ์์ด ํฌ๋งคํ
name = 'ํ๊ธธ๋'
age = 30
f'๋์ ์ด๋ฆ์ {name}์
๋๋ค. ๋์ด๋ {age}์
๋๋ค.'
>>'๋์ ์ด๋ฆ์ ํ๊ธธ๋์
๋๋ค. ๋์ด๋ 30์
๋๋ค.'
1) ๋ฌธ์์ด ์์ f ์ ๋์ฌ๋ฅผ ๋ถ์ด๋ฉด f ๋ฌธ์์ด ํฌ๋งคํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
2) ๋ณ์ซ๊ฐ์ ์์ฑํ ํ์ ๊ทธ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋ค.
ํํ์
age = 30
f'๋๋ ๋ด๋
์ด๋ฉด {age + 1}์ด์ด ๋๋ค.'
>>'๋๋ ๋ด๋
์ด๋ฉด 31์ด์ด ๋๋ค.'
๋์ ๋๋ฆฌ
d = {'name' : 'ํ๊ธธ๋', 'age':30}
f'๋์ ์ด๋ฆ์ {d["name"]}์
๋๋ค. ๋์ด๋ {d["age"]}์
๋๋ค.'
>>'๋์ ์ด๋ฆ์ ํ๊ธธ๋์
๋๋ค. ๋์ด๋ 30์
๋๋ค.'
๋ฌธ์์ด ๊ด๋ จ ํจ์๋ค
๋ฌธ์์ด ๋ด์ฅ ํจ์ :
์์ฒด์ ์ผ๋ก ํจ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ฌธ์์ด ์๋ฃํ
๋ฌธ์์ด ๋ณ์ ์ด๋ฆ ๋ค์ '.'๋ฅผ ๋ถ์ธ ํ ํจ์ ์ด๋ฆ์ ์จ ์ค๋ค.
๋ฌธ์ ๊ฐ์ ์ธ๊ธฐ - count
a = "hobby"
a.count('b')
>> 2
count ํจ์๋ก ๋ฌธ์์ด ์ค ๋ฌธ์ b์ ๊ฐ์ ๋ฆฌํด
์์น ์๋ ค ์ฃผ๊ธฐ 1 - find
a = "Python is the best choice"
a.find('b')
>> 14
a.find('k')
>> -1
find ํจ์๋ก ๋ฌธ์์ด ์ค ๋ฌธ์ b๊ฐ ์ฒ์์ผ๋ก ๋์จ ์์น ๋ฐํ. ์ฐพ๋ ๋ฌธ์๋ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์์ ์ -1 ๋ฐํ.
*ํ์ด์ฌ์ ์ซ์๋ฅผ 0๋ถํฐ ์ธ๊ธฐ ๋๋ฌธ์ b์ ์์น๋ 14
์์น ์๋ ค ์ฃผ๊ธฐ 2 - index
a = "Life is too short"
a.index('t')
>> 8
a.index('k')
>> ์ค๋ฅ๋ฐ์
index ํจ์๋ก ๋ฌธ์์ด ์ค ๋ฌธ์ t๊ฐ ๋งจ ์ฒ์์ผ๋ก ๋์จ ์์น๋ฅผ ๋ฐํํ๋ค.
๋ง์ฝ ์ฐพ๋ ๋ฌธ์๋ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ฌธ์์ด ์ฝ์ - join
",".join('abcd')
>>'a,b,c,d'
*joinํจ์๋ ๋ฌธ์์ด๋ฟ๋ง ์๋๋ผ ์์ผ๋ก ๋ฐฐ์ธ ๋ฆฌ์คํธ๋ ํํ๋ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
์๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ - upper
a = "hi"
a.upper()
>>'HI'
๋๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ - lower
a = "HI"
a.lower()
>> 'hi'
์ผ์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - lstrip
a = " hi "
a.lstrip()
>> 'hi'
๋ฌธ์์ด ์ค ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ํ ์นธ ์ด์์ ์ฐ์๋ ๊ณต๋ฐฑ๋ค์ ๋ชจ๋ ์ง์ด๋ค.
์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - rstrip
a = " hi "
a.rstrip()
>> ' hi'
๋ฌธ์์ด ์ค ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์๋ ํ ์นธ ์ด์์ ์ฐ์๋ ๊ณต๋ฐฑ๋ค์ ๋ชจ๋ ์ง์ด๋ค.
์์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - strip
a = " hi "
a.rstrip()
>> 'hi'
๋ฌธ์์ด ๋ฐ๊พธ๊ธฐ - replace
a = "Life is too short"
a.replace("Life", "Your leg")
>> 'Your leg is too short'
replace(๋ฐ๋_๋ฌธ์์ด, ๋ฐ๊ฟ_๋ฌธ์์ด)์ ์ฌ์ฉํด ๋ฌธ์์ด ์์ ํน์ ํ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์นํ
๋ฌธ์์ด ๋๋๊ธฐ - split
a = "Life is too short"
a.split()
>> ['Life','is','too','short']
b = "a:b:c:d"
b.split(':')
>> ['a','b','c','d']
โ a.split()์ ๊ฒฝ์ฐ (๊ดํธ ์์ ์๋ฌด ๊ฐ๋ ๋ฃ์ง ์์์ ๋)
([Space], [Tab], [Enter]} ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋์ด ์ค๋ค.
โ b.split(':')์ ๊ฒฝ์ฐ (๊ดํธ ์์ ํน์ ๊ฐ์ด ์์ ๋)
๊ดํธ ์์ ๊ฐ์ ๊ตฌ๋ถ์๋ก ํด์ ๋ฌธ์์ด์ ๋๋์ด ์ค๋ค.
5. ๋ฆฌ์คํธ๋? (์์ฑ์ ๊น๋ฏผ์)
์ซ์์ ๋ฌธ์์ด๋ง์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ์๋ ๋ถ์กฑํ ์ ์ด ๋ง๋ค. ์๋ฅผ ๋ค์ด 1 ๋ถํฐ 10 ๊น์ง์ ์ซ์ ์ค ํ์์ ๋ชจ์์ธ 1, 3, 5, 7, 9 ์ ์งํฉ์ ์๊ฐํด๋ณด์. ์ด๋ฐ ์ซ์์ ๋ชจ์์ ์ซ์๋ ๋ฌธ์์ด๋ก ํํํ๊ธฐ๋ ์ด๋ ต๋ค. ํ์ด์ฌ์๋ ์ด๋ฌํ ๋ถํธํจ์ ํด์ํ ์์๋ ์๋ฃํ์ด ์กด์ฌํ๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋ฆฌ์คํธ (list) ์ด๋ค.
๋ฆฌ์คํธ๋ ์ด๋ป๊ฒ ๋ง๋๋๊ฐ?
๋ฆฌ์คํธ๋ฅผ ๋ง๋ค ๋๋ ๋๊ดํธ ([]) ๋ก ๊ฐ์ธ ์ฃผ๊ณ ๊ฐ ์์๊ฐ์ ์ผํ (,) ๋ก ๊ตฌ๋ถํด ์ค๋ค.
๋ฆฌ์คํธ๋ช = [์์1, ์์2, ์์3, ...]
์ฌ๋ฌ ๊ฐ์ง ๋ฆฌ์คํธ์ ์๊น์๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฆฌ์คํธ์ ์ธ๋ฑ์ฑ
๋ฆฌ์คํธ ์ญ์ ๋ฌธ์์ด์ฒ๋ผ ์ธ๋ฑ์ฑ์ ์ ์ฉํ ์ ์๋ค.(๋ฌธ์์ด์ ์ธ๋ฑ์ฑ ๋ถ๋ถ ์ฐธ์กฐ)
๋จผ์ a ๋ณ์์ [1, 2, 3] ๊ฐ์ ์ค์ ํ๋ค.
a[0] ์ ๋ฆฌ์คํธ a ์ ์ฒซ ๋ฒ์งธ ์์๊ฐ์ ๋งํ๋ค.
๋ค์ ์๋ ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ์์์ธ a[0] ๊ณผ ์ธ ๋ฒ์งธ ์์์ธ a[2] ์ ๊ฐ์ ๋ํ ๊ฒ์ด๋ค.
์ด๊ฒ์ 1 + 3 ์ผ๋ก ํด์๋์ด ๊ฐ 4๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฆฌ์คํธ์ ์ฌ๋ผ์ด์ฑ
๋ฌธ์์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์คํธ์์๋ ์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ ์ ์ฉํ ์ ์๋ค. (๋ฌธ์์ด์ ์ฌ๋ผ์ด์ฑ ๋ถ๋ถ ์ฐธ์กฐ)
๋ฌธ์์ด์์ ํ๋ ๊ฒ๊ณผ ์ฌ์ฉ๋ฒ์ด ์์ ํ ๋์ผํ๋ค. ๋ค์์ ์๋ฅผ ์ดํด๋ณด์.
๋ฆฌ์คํธ ์ฐ์ฐํ๊ธฐ-๋ํ๊ธฐ(+)์ ๋ฐ๋ณตํ๊ธฐ(*)
๋ฌธ์์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์คํธ ์ญ์ + ๋ฅผ ์ฌ์ฉํด์ ๋ํ ์ ์๊ณ *๋ฅผ ์ฌ์ฉํด์ ๋ฐ๋ณตํ ์ ์๋ค.
1.๋ฆฌ์คํธ ๋ํ๊ธฐ(+)
2.๋ฆฌ์คํธ ๋ฐ๋ณตํ๊ธฐ(*)
๋ฆฌ์คํธ ๊ธธ์ด ๊ตฌํ๊ธฐ
๋ฆฌ์คํธ ๊ธธ์ด๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ๋ค์์ฒ๋ผ len ํจ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
๋ฆฌ์คํธ์ ์์ ๊ณผ ์ญ์
๋ฆฌ์คํธ๋ ๊ฐ์ ์์ ํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋ค.
2.del ํจ์๋ฅผ ์ฌ์ฉํด ๋ฆฌ์คํธ ์์ ์ญ์ ํ๊ธฐ
del a[x]๋ x ๋ฒ์งธ ์์๊ฐ์ ์ญ์ ํ๋ค. ์์์๋ a ๋ฆฌ์คํธ์์ a[1] ์ ์ญ์ ํ๋ค.
๋ค์์ฒ๋ผ ์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ์ ์์ ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๊บผ๋ฒ์ ์ญ์ ํ ์๋ ์๋ค.
๋ฆฌ์คํธ ๊ด๋ จ ํจ์-append, sort, reverse, index, insert, remove, pop, count, extend
๋ฌธ์์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์คํธ ๋ณ์ ์ด๋ฆ ๋ค์ ‘.’ ๋ฅผ ๋ถ์ฌ ์ฌ๋ฌ ๊ฐ์ง ๋ฆฌ์คํธ ๊ด๋ จ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
1.๋ฆฌ์คํธ์ ์์ ์ถ๊ฐํ๊ธฐ โ append
2.๋ฆฌ์คํธ ์ ๋ ฌ โ sort
3.๋ฆฌ์คํธ ๋ค์ง๊ธฐ โ reverse
4.์ธ๋ฑ์ค ๋ฐํ โ index
5.๋ฆฌ์คํธ์ ์์ ์ฝ์ โ insert
6.๋ฆฌ์คํธ ์์ ์ ๊ฑฐ โ remove
7.๋ฆฌ์คํธ ์์ ๋์ง์ด ๋ด๊ธฐ โ pop
8.๋ฆฌ์คํธ์ ํฌํจ๋ ์์ x ์ ๊ฐ์ ์ธ๊ธฐ โ count
9.๋ฆฌ์คํธ ํ์ฅ โ extend
6. ํํ ์๋ฃํ
6-1. ํํ์ด๋?
- ํํ์ ๋ฆฌ์คํธ์ ๋น์ทํ๋ฉฐ, ๋ฆฌ์คํธ๋[], ํํ์ ()์ผ๋ก ๋๋ฌ์ผ๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
- ๋ฆฌ์คํธ๋ ์์๊ฐ์ ์์ฑ·์ญ์ ·์์ ์ด ๊ฐ๋ฅํ์ง๋ง, ํํ์ ๋ถ๊ฐ๋ฅํ๋ค.
6-2. ํํ ์์ ๋ฒ
- ํํ์ ์์๋ฅผ ๋ฆฌ์จํธ์ฒ๋ผ del ํจ์๋ก ์ง์ฐ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- ํํ์ ์์๊ฐ์ ๋ณ๊ฒฝํ๋ ค๊ณ ํด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
6-3. ํํ ์ธ๋ฑ์ฑ
6-4. ํํ ์ฌ๋ผ์ด์ฑ
6-5. ํํ ์ฐ์ฐ
6-6. ํํ ๊ธธ์ด ์ฐ์ฐ
p.s. ํํ์ ์์๊ฐ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ sort, insert, remove, pop๊ณผ ๋ด์ฅ ํจ์๊ฐ ์๋ค. - ํํ์ ์ฅ์ ์ด์ ๋จ์
7. ๋์ ๋๋ฆฌ ์๋ฃํ-key๋ฅผ ํตํด value๋ฅผ ์ป๋ ์๋ฃ ๊ตฌ์กฐ.
7-1. ๋์ ๋๋ฆฌ ํน์ฑ
ํน์ key๋ฅผ ํตํด value๋ฅผ ์ป๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ฉฐ '์ฐ๊ด ๋ฐฐ์ด' ๋๋ 'ํด์'๋ผ๊ณ ๋ ํ๋ค.
name์ด๋ผ๋ key์ Eric์ด๋ผ๋ value๊ฐ ์กด์ฌํ๊ณ age๋ผ๋ ํค์ 15๋ผ๋ value๊ฐ ์กด์ฌํ๊ธฐ์ dic์์ name์ printํ๋ Eric์ด๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ถ.
๋ฆฌ์คํธ๋ฅผ ํ๋์ฉ ๋ณผ ํ์ ์์ด ํน์ key ๊ฒ์์ ํตํด ์๋ฃ๋ฅผ ์ฐพ์ ์ ์๊ธฐ์ ์์ฃผ ์ฐ์. API์ ์์ฃผ ํ์ฉ๋จ.
7-2. ์ ๋ ฅ
{}์์ key์ value๋ฅผ :๋ฅผ ๊ฒฝ๊ณ๋ก ์ ๋ ฅํด์ผ. ์ ์ฌ์ง์์ key๋ 1, value๋ a.
๋์ ๋๋ฆฌ ์์ ์ถ๊ฐํ๊ธฐ ์ํด์๋ ๊ธฐ์กด์ key์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๊ณ ์ด์ด์ ์์ฑํ๋ค๊ณ ์๊ฐํ๋ฉด ํธํจ.
์ญ์ ํ๋ ๋ฐฉ๋ฒ์ key๋ฅผ ์ญ์ ํ๋ ๊ฒ.
์์ฑํ ๋์ ๋๋ฆฌ๋ ๋ฆฌ์คํธ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ์ ์ฌํ์ง๋ง key๋ฅผ ๋ฃ์ด์ value๋ฅผ ์ถ๋ ฅํ๋ ์ ์์ ์ฐจ์ด๊ฐ ์กด์ฌ.
key๊ฐ ์ค๋ณต๋๋ฉด ์๋จ. ์ค๋ณต๋๋ฉด ๋ง์ง๋ง key๋ง ๋จ์. value๋ ์ค๋ณต๋์ด๋ ๊ด์ฐฎ์.
7-3. ๊ด๋ จ ํจ์-list, clear, get, ~in~
~ list ๋ง๋ค๊ธฐ๋ ~๋ง ์ถ์ถํ๋ ๊ฒ์ผ๋ก values๋ง, keys๋ง, items(value, key ์)๋ง ์ถ์ถํ๋ ๊ฒ์ด ๊ฐ๋ฅ. for๋ฌธ์ ์ฃผ๋ก ์ฐ์. ์ด๋ฅผ ํตํด list๊ฐ ์๋์๋ ๋ถ๊ตฌํ๊ณ list์ ๊ฐ์ ๋ชจ์ต์ ๊ฒฐ๊ณผ ๊ฐ๋ฅ.
๋ชจ๋ ์ง์ฐ๊ธฐ๋ clear๋ก ๋์ถ๋๋ ๊ฒฐ๊ณผ๊ฐ์ ์์ ์ฃผ๋ ํจ์๋ก clear ํ printํ๋ฉด {}์ ๊ฒฐ๊ณผ๊ฐ ๋์ถ.
value๋ฅผ ์ป์ ์ ์๋ ๋ ๋ค๋ฅธ ํจ์์ธ get์ ์ป๋ ๊ฒ ๊น์ง๋ ์ ์ฌํ์ง๋ง ์กด์ฌํ์ง ์๋ ๊ฒ์ ๋ค๋ฃฐ ๋ ์๋ฌ๊ฐ ๋์ง ์๊ฒ ํด์ค๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์กด์ฌ.
key์ ์ ๋ฌด๋ฅผ ๋ฌผ์ ์ ์๋ค๋ฉด true๊ฐ ์์ ๋ false๊ฐ ๋์ด.
'Study > CODE 3๊ธฐ [Jump to python]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2์กฐ:ACE] Python ์คํฐ๋ #2 (2) | 2024.03.17 |
---|---|
[๊น์ด๊น์ด๋] python ์คํฐ๋ 2์ฃผ์ฐจ (0) | 2024.03.14 |
[5์กฐ C5DE] Python Study (0) | 2024.03.11 |
[2์กฐ:ACE] Python ์คํฐ๋ #1 (0) | 2024.03.11 |
[4์กฐ ๋ถ์ฌ์กฐ] Python Study (0) | 2024.03.10 |