2.1 ์ซ์ํ
** : ์ ๊ณฑ
% : ๋๋จธ์ง
/ : ๋๋๊ธฐ
// : ๋ชซ
2.2 ๋ฌธ์์ด
๋ฌธ์์ด: ๋ฌธ์, ๋จ์ด ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ ๋ฌธ์๋ค์ ์งํฉ
๋ฌธ์์ด ๋ง๋ค๊ธฐ
- ํฐ๋ฐ์ดํ
- ์์๋ฐ์ดํ
- ํฐ๋ฐ์ดํ 3์ฐ์
- ์์๋ฐ์ดํ 3์ฐ์
๋ฌธ์์ด ์์ ‘๋ “ํฌํจ์ํค๊ธฐ
- ‘ ํฌํจ : ํฐ ๋ฐ์ดํ ์์ ๋ค์ด์๋ ์์๋ฐ์ดํ๋ ๋ฌธ์์ด์ ๋ํ๋ด๊ธฐ ์ํ ๊ธฐํธ๋ก ์ธ์๋์ง ์์
- “ ํฌํจ : ์์ ๋ฐ์ดํ๋ก ๋๋ฌ์ธ๊ธฐ
- ์ญ์ฌ๋์ ์ฌ์ฉ : \’, \”
๋ณ์์ ์ฌ๋ฌ ์ค์ธ ๋ฌธ์์ด ๋์
- ์ค๋ฐ๊ฟ ๋ฌธ์ \n ์ฝ์
- ‘’’ ๋๋ “””
์ด์ค์ผ์ดํ ์ฝ๋
- \n : ์ค๋ฐ๊ฟ
- \t : ํญ ๊ฐ๊ฒฉ
- \\ “ \๋ฅผ ๊ทธ๋๋ก ํํ
- \’ : ‘๋ฅผ ๊ทธ๋๋ก ํํ
- \” : “๋ฅผ ๊ทธ๋๋ก ํํ
๋ฌธ์์ด ๊ณฑํ๊ธฐ, ๊ธธ์ด ๊ตฌํ๊ธฐ
- a*2 : a๋ผ๋ ๋ฌธ์์ด์ 2๋ฒ ๋ฐ๋ณตํ๊ธฐ
- len( ) : ๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ
๋ฌธ์์ด ์ธ๋ฑ์ฑ, ์ฌ๋ผ์ด์ฑ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
l | i | f | e | i | s | t | o | o | s | h | o | r | t |
- a[๋ฒํธ] : ๋ฌธ์์ด ์์ ํน์ ํ ๊ฐ์ ๋ฝ์๋ (์ธ๋ฑ์ฑ)
- a[์์_๋ฒํธ : ๋_๋ฒํธ] : ์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ
-
- ๊ธฐํธ : ๋ฌธ์์ด ๋ค์์๋ถํฐ ์ฝ๊ธฐ (-1์ ๋ค์์ ์ธ์ด ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฏธ)
๋ฌธ์์ด์ immutable ์๋ฃํ
- ๋ฌธ์์ด์ ์์๊ฐ์ ๋ฐ๊ฟ ์ ์๋ ๊ฐ์ด ์๋
๋ฌธ์์ด ํฌ๋งคํ
- ๋ฌธ์์ด ์์ ์ด๋ค ๊ฐ์ ์ฝ์ ํ๋ ๋ฐฉ๋ฒ
- ๋ฌธ์์ด ํฌ๋งท์ฝ๋ ์ฌ์ฉ
- ์ซ์ ๋์ : “ %d “ %์ซ์
- ๋ฌธ์์ด ๋์ : “ %s “ %๋ฌธ์์ด
- ์ซ์๊ฐ ๋ณ์ ๋์ : “ %d “ %๋ณ์
- ๋ฌธ์์ด๊ฐ ๋ณ์ ๋์ : %s “ %๋ณ์
ํฌ๋งคํ ์ฐ์ฐ์ %d์ %๋ฅผ ๊ฐ์ด ์ธ ๋ : %d%% %์ซ์
ํฌ๋งท์ฝ๋์ ์ซ์ ํจ๊ป ์ฐ๊ธฐ
- ์ ๋ ฌ๊ณผ ๊ณต๋ฐฑ
- ’%10s’ %’hi’ : ๋์ ๋๋ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌํ๊ณ , ์ผ์ชฝ์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์
- ‘%-10sjane’ %’hi’ : ๋์ ๋๋ ๊ฐ์ ์ผ์ชฝ ์ ๋ ฌํ๊ณ , ์ค๋ฅธ์ชฝ์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์
- ์์์ ํํ
- ‘%0.๋์ฌ_์ซ์์_๊ฐ์f’ xx.xxxxx (0์ ๊ธธ์ด์ ์๊ดํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ)
'%0.4f' 3.42134234 '3.4213' '%10.4f' 3.42134234 //์ ์ฒด ๊ธธ์ด๊ฐ 10๊ฐ์ธ ๋ฌธ์์ด ๊ณต๊ฐ์์ ์ค๋ฅธ์ชฝ ์ ๋ ฌํจ ' 3.4213'
formatํจ์๋ฅผ ์ฌ์ฉํ ํฌ๋งคํ
- ์ซ์ ๋์ : ‘xxx {0} xxx’.format(์ซ์)
- ๋ฌธ์์ด ๋์ : ‘xxx {0} xxx’.format(’๋ฌธ์์ด’)
- ์ซ์๊ฐ ๋ณ์ ๋์ : ‘xxx {0} xxx’.format(์ซ์๋ณ์)
- ๋ฌธ์์ด๊ฐ ๋ณ์ ๋์ : ‘xxx {0} xxx’.format(๋ฌธ์์ด๋ณ์)
- 2๊ฐ ์ด์์ ๊ฐ ๋์ : ‘xxx {0} xxx {1} xxx’.format(๊ฐ, ๊ฐ)
- ์ด๋ฆ์ผ๋ก ๋ฃ๊ธฐ : ‘xxx {num} xxx {day} xxx’.format(num=๊ฐ, day=๊ฐ)
- ์ธ๋ฑ์ค์ ์ด๋ฆ ํผ์ฉ : ‘xxx {0} xxx {day} xxx’.format(๊ฐ, day=๊ฐ)
- ์ผ์ชฝ ์ ๋ ฌ : ‘{0:<10}’..format(’hi’) //’hi ’
- ์ค๋ฅธ์ชฝ ์ ๋ ฌ: ‘{0:>10}’..format(’hi’) //’ hi’
- ๊ฐ์ด๋ฐ ์ ๋ ฌ: ‘{0:^10}’..format(’hi’) //’ hi ’
- ๊ณต๋ฐฑ ์ฑ์ฐ๊ธฐ :
- ‘{0:=^10}’.format(’hi’) //’====hi====’ ๊ฐ์ด๋ฐ ์ ๋ ฌ ํ ์ฑ์ฐ๊ธฐ
- ‘{0:!<10}’.format(’hi’) //’h!!!!!!!!’ ์ผ์ชฝ์ผ๋ก ์ ๋ ฌ ํ ์ฑ์ฐ๊ธฐ
- ์์์ ํํ :
- ‘{0:0.4f}.format(3.42134234)’ // ‘3.4213’
- ‘{0:10.4f}.format(3.42134234)’ // ‘ 3.4213’
- { } ํํ : ‘{{ and }}’.format() //’{ and }’
f๋ฌธ์์ด ํฌ๋งคํ
3.6 ๋ฒ์ ๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ฌธ์์ด ์์ f์ ๋์ฌ๋ฅผ ๋ถ์ฌ ์ฌ์ฉํจ
name='ํ๊ธธ๋'
age=30
f'๋์ ์ด๋ฆ์ {name}์
๋๋ค. ๋์ด๋ {age+1}์
๋๋ค.' #๋ณ์๊ฐ์ ์ฐธ์กฐํ๋ฉฐ, ํํ์ ์ง์ํจ
- ๋์ ๋๋ฆฌ(key์ value๋ฅผ ํ ์์ผ๋ก ๊ฐ์ง๋ ์๋ฃํ)
d = {'name':'ํ๊ธธ๋' , 'age':30}
f'๋์ ์ด๋ฆ์ {d['name']}์
๋๋ค. ๋์ด๋ {d['age']}์
๋๋ค.'
- ์ ๋ ฌ
f'{'hi':<10}' //'hi '
f'{'hi':>10}' //' hi'
f'{'hi':^10}' //' hi '
- ๊ณต๋ฐฑ์ฑ์ฐ๊ธฐ
f'{'hi':=^10}' //'====hi===='
f'{'hi':!<10}' //'hi!!!!!!!!'
f'{'hi':!>10}' //'!!!!!!!!hi'
- { } ๊ทธ๋๋ก : f’{{ and }}’ // { and }
๋ฌธ์์ด ๊ด๋ จ ํจ์๋ค
- ๋ฌธ์ ๊ฐ์ ์ธ๊ธฐ - count
- ์์น ์๋ ค์ฃผ๊ธฐ -find //๋ฌธ์์ด์์ ๋ฌธ์๊ฐ ์ฒ์ ๋์จ ์์น ๋ฐํ, ์กด์ฌํ์ง ์์ผ๋ฉด -1
- ์์น ์๋ ค์ฃผ๊ธฐ -index // ์กด์ฌํ์ง ์์ผ๋ฉด ์ค๋ฅ ๋ฐ์ํจ
- ๋ฌธ์์ด ์ฝ์ -join //joinํจ์์ ์ ๋ ฅ์ผ๋ก ๋ฆฌ์คํธ ์ฌ์ฉ
','.join(['a','b','c','d'])
'a,b,c,d'
- ์๋ฌธ์>๋๋ฌธ์๋ก -upper
- ๋๋ฌธ์>์๋ฌธ์๋ก -lower
- ์ผ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ -lstrip
- ์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ -rstrip
- ์์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ -strip
- ๋ฌธ์์ด ๋ฐ๊พธ๊ธฐ -replace // replace(๋ฐ๋_๋ฌธ์์ด,๋ฐ๊ฟ_๋ฌธ์์ด)
- ๋ฌธ์์ด ๋๋๊ธฐ -split // split(๊ณต๋ฐฑor๊ธฐ์ค๋ฌธ์์ด), ๋๋ ๊ฐ์ ๋ฆฌ์คํธ์ ๋ค์ด
2.3 ๋ฆฌ์คํธ
- ๋ฆฌ์คํธ ์์๋ ์ด๋ค ์๋ฃํ๋ ํฌํจํ ์ ์์
๋ฆฌ์คํธ๋ช
= [์์1, ์์2, ์์3 ,,,]
- ๋ฆฌ์คํธ์ ์ธ๋ฑ์ฑ
>>> a=[1,2,3,['a','b','c']]
>>> a[-1]
['a', 'b', 'c']
>>> a[-1][0] #๋ฆฌ์คํธ a์ ํฌํจ๋ ๋ฆฌ์คํธ์์ ์ธ๋ฑ์ฑ์ ์ฌ์ฉํด ๊ฐ ์ถ๋ ฅ
'a'
#์ผ์ค ๋ฆฌ์คํธ์์ ์ธ๋ฑ์ฑํ๊ธฐ
>>> a=[1,2,['a','b',['Life','is']]]
#Life ๋ฝ์๋ด๊ธฐ
>>> a[2][2][0]
'Life'
- ๋ฆฌ์คํธ์ ์ฌ๋ผ์ด์ฑ
>>> a=[1,2,3,4,5]
>>> a[1:3]
[2, 3]
#์ค์ฒฉ๋ ๋ฆฌ์คํธ์์ ์ฌ๋ผ์ด์ฑ
>>> a=[1,2,3,['a','b','c'],4,5]
>>> a[2:5]
[3, ['a', 'b', 'c'], 4]
>>> a[3][:2]
['a', 'b']
๋ฆฌ์คํธ ์ฐ์ฐํ๊ธฐ
- ๋ฆฌ์คํธ ๋ํ๊ธฐ(+) : 2๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ํฉ์นจ
- ๋ฆฌ์คํธ ๋ฐ๋ณตํ๊ธฐ(*) : ๋ฆฌ์คํธ๋ฅผ n๋ฒ ๋ฐ๋ณตํ์ฌ ์๋ก์ด ๋ฆฌ์คํธ ๋ง๋ค์ด๋
- ๋ฆฌ์คํธ ๊ธธ์ด๊ตฌํ๊ธฐ : len( )
# ๋ํ๊ธฐ
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a+b
[1, 2, 3, 4, 5, 6]
# ๋ฐ๋ณตํ๊ธฐ
>>> a=[1,2,3]
>>> a*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
#๊ธธ์ด ๊ตฌํ๊ธฐ
>>> a=[1,2,3]
>>> len(a)
3
#์ ์์ ๋ฌธ์์ด์ ๋ํ ์ ์์
#str ํจ์๋ก ์ ์or์ค์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ผํจ
>>> a=[1,2,3]
>>> str(a[2])+"hi"
'3hi'
๋ฆฌ์คํธ์ ์์ ๊ณผ ์ญ์
- ๋ฆฌ์คํธ์ ๊ฐ ์์ ํ๊ธฐ
- del ํจ์๋ก ๋ฆฌ์คํธ ์์ ์ญ์ ํ๊ธฐ (del ๊ฐ์ฒด)
#์์ ํ๊ธฐ
>>> a=[1,2,3]
>>> a[2]=4
>>> a
[1, 2, 4]
#์ญ์ ํ๊ธฐ
>>> a=[1,2,3]
>>> del a[1]
>>> a
[1, 3]
#์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ผ๋ก ์ฌ๋ฌ ๊ฐ ์ญ์
>>> a=[1,2,3,4,5]
>>> del a[2:]
>>> a
[1, 2]
๋ฆฌ์คํธ ๊ด๋ จ ํจ์
- ๋ฆฌ์คํธ์ ์์ ์ถ๊ฐ - append
- ๋ฆฌ์คํธ ์ ๋ ฌ - sort
- ๋ฆฌ์คํธ ๋ค์ง๊ธฐ - reverse
- ์ธ๋ฑ์ค ๋ฐํ - index(x)
- ๋ฆฌ์คํธ์ ์์ ์ฝ์ - insert(a,b) a๋ฒ์งธ์ b์ฝ์
- ๋ฆฌ์คํธ ์์ ์ ๊ฑฐ - remove(x) ์ฒซ๋ฒ์งธ๋ก ๋์ค๋ x์ญ์
- ๋ฆฌ์คํธ ์์ ๋์ง์ด๋ด๊ธฐ - pop ๋ฆฌ์คํธ์ ๋งจ ๋ง์ง ์์๋ฅผ ๋ฆฌํดํ๊ณ ์ญ์
- ๋ฆฌ์คํธ์ ํฌํจ๋ ์์ x์ ๊ฐ์ ์ธ๊ธฐ - count
- ๋ฆฌ์คํธ ํ์ฅ - extend
#์์ ์ถ๊ฐ
>>> a=[1,2,3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
#์ด๋ค ์๋ฃํ์ด๋ ์ถ๊ฐ ๊ฐ๋ฅ(๋ฆฌ์คํธ)
>>> a.append([5,6])
>>> a
[1, 2, 3, 4, [5, 6]]
#๋ฆฌ์คํธ ์ ๋ ฌ
>>> a=[1,4,3,2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
#๋ฌธ์๋ ์ํ๋ฒณ ์์๋ก ์ ๋ ฌ
>>> a=['a','c','b']
>>> a.sort()
>>> a
['a', 'b', 'c']
#๋ฆฌ์คํธ ๋ค๊ธฐ
>>> a=['a','c','b']
>>> a.reverse()
>>> a
['b', 'c', 'a']
#x์ ์ธ๋ฑ์ค ๋ฐํ
>>> a=[1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0
#๋ฆฌ์คํธ์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฐ์
>>> a.index(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 0 is not in list
#a๋ฒ์งธ ์์น์ b๋ฅผ ์ฝ์
>>> a=[1,2,3]
>>> a.insert(0,4)
>>> a
[4, 1, 2, 3]
>>> a.insert(3,5)
>>> a
[4, 1, 2, 5, 3]
#์ฒซ๋ฒ์งธ๋ก ๋์ค๋ x์ ๊ฑฐ
>>> a=[1,2,3,1,2,3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2]
#๋งจ ๋ง์ง๋ง ์์ ๋ฆฌํด ํ ์ญ์
>>> a=[1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
#x๋ฒ์งธ ์์ ๋ฆฌํด ํ ์ญ์
>>> a=[1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]
#์์ x์ ๊ฐ์ ์ธ๊ธฐ
>>> a=[1,2,3,1]
>>> a.count(1)
2
#๋ฆฌ์คํธ ํ์ฅ
>>> a=[1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
>>> b=[6,7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]
2.4 ํํ
ํํ๊ณผ ๋ฆฌ์คํธ
๋ฆฌ์คํธ ํํ
[ ] | ( ) |
์์๊ฐ์ ์์ฑ, ์ญ์ , ์์ ๊ฐ๋ฅ | ์์๊ฐ์ ๋ฐ๊ฟ ์ ์์ |
ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์์๋ก ๊ฐ์ ๋ณํ์์ผ์ผ ํ ๊ฒฝ์ฐ์ ์ฌ์ฉ | ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์์๊ฐ์ด ํญ์ ๋ณํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋ค๊ฑฐ๋ ๊ฐ์ด ๋ฐ๋๊น ๊ฑฑ์ ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ |
ํํ์ ์์๊ฐ ์ญ์ /๋ณ๊ฒฝ
- ์ค๋ฅ๊ฐ ๋ฐ์
#์์๊ฐ ์ญ์ ์๋
>>> t1=(1,2,'a','b')
>>> del t1[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
#์์๊ฐ ๋ณ๊ฒฝ ์
>>> t1=(1,2,'a','b')
>>> t1[0]='c'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
ํํ ๋ค๋ฃจ๊ธฐ
2.5 ๋์
๋๋ฆฌ
๋์ ๋๋ฆฌ๋?
- key์ value๋ฅผ ํ ์์ผ๋ก ๊ฐ์ง๋ ์๋ฃํ (์ฌ์ ์ฒ๋ผ)
- ์์ฐจ์ ์ผ๋ก ํด๋น ์์๊ฐ์ ๊ตฌํ์ง ์๊ณ , key๋ฅผ ํตํด value๋ฅผ ์ป์
๋์ ๋๋ฆฌ๋ ์ด๋ป๊ฒ ๋ง๋ค๊น?
key:value ํํ๋ก ์ด๋ค์ ธ ์๊ณ , ์ผํ๋ก ๊ตฌ๋ถ๋จ
{key1:value1, key2:value2,...}
#value๋ก ๋ฆฌ์คํธ๋ฅผ ๋ฃ์ ์ ์์
a={'a':[1,2,3]}
๋์ ๋๋ฆฌ ์ ์ถ๊ฐ, ์ญ์ ํ๊ธฐ
a={1:'a'}
>>> a[2]='b' #2๋ผ๋ ํค๋ก 'b'๊ฐ์ ์ถ๊ฐ
>>>
>>> a
{1: 'a', 2: 'b'}
>>> a['name'] = 'pey'
>>> a
{1: 'a', 2: 'b', 'name': 'pey'}
>>> a[3] = [1,2,3]
>>> a
{1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋์
๋๋ฆฌ์์ key๋ฅผ ์ฌ์ฉํด value ์ป๊ธฐ
- ๋์ ๋๋ฆฌ๋ ๋ฆฌ์คํธ, ํํ์ ์๋ ์ธ๋ฑ์ฑ ๋ฐฉ๋ฒ์ ์ ์ฉํ ์ ์์
grade ={'pey':10,'julliet':99}
>>> grade['pey']
10
>>> grade['julliet']
99
- ๋์
๋๋ฆฌ ๋ง๋ค ๋ ์ฃผ์ํ ์ฌํญ
- key๋ ๊ณ ์ ํ ๊ฐ์ด๋ฏ๋ก, ์ค๋ณต๋๋ key๋ฅผ ์ค์ ํ๋ฉด ํ๋๋ฅผ ์ ์ธํ ๋๋จธ์ง ๊ฒ๋ค์ด ๋ชจ๋ ๋ฌด์๋จ
- ๋์ ๋๋ฆฌ์๋ ๋์ผํ key๊ฐ ์ค๋ณต์ผ๋ก ์กด์ฌํ ์ ์์
- key์๋ ๊ฐ์ด ๋ณํ๋ ๊ฐ์ ์ธ ์ ์์ (key์ ๋ฆฌ์คํธ๋ฅผ ์ธ ์ ์์, ํ์ง๋ง ํํ์ ์ธ ์ ์์)
>>> a={[1,2] : 'hi'} Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'
๋์ ๋๋ฆฌ ๊ด๋ จ ํจ์
- key ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ - keys ๋์ ๋๋ฆฌ a์ key๋ง์ ๋ชจ์ dict_keys๊ฐ์ฒด(๋ฐ๋ณต ๊ตฌ๋ฌธ์์ ์ฌ์ฉํ ์ ์์)๋ฅผ ๋ฆฌํดํจ
>>> a={'name':'pey','phone':'010-1111-1111','birth':'1118'}
>>> a.keys()
dict_keys(['name', 'phone', 'birth'])
#๋ฆฌํด์ ๋ฆฌ์คํธ๋ก ํ๋ ค๋ฉด
>>> list(a.keys())
['name', 'phone', 'birth']
#dict_keys ๋ฐ๋ณต
>>> for k in a.keys():
... print(k)
...
name
phone
birth
- value ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ - values ๋์ ๋๋ฆฌ a์ value๋ง์ ๋ชจ์ dict_values๊ฐ์ฒด๋ฅผ ๋ฆฌํดํจ
>>> a.values()
dict_values(['pey', '010-1111-1111', '1118'])
- key, value ์ ์ป๊ธฐ - items key์ value์ ์์ ํํ๋ก ๋ฌถ์ ๊ฐ์ dict_items๊ฐ์ฒด๋ก ๋ฆฌํดํจ
>>> a.items()
dict_items([('name', 'pey'), ('phone', '010-1111-1111'), ('birth', '1118')])
- key, value ์ ๋ชจ๋ ์ง์ฐ๊ธฐ - clear ๋์ ๋๋ฆฌ ์์ ๋ชจ๋ ์์๋ฅผ ์ญ์
>>> a.clear()
>>> a
{}
- key๋ก value ์ป๊ธฐ - get
- ๋์ ๋๋ฆฌ ๋ด์ ์๋ ํค๋ก ๊ฐ์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ ๊ฒฝ์ฐ none ๋ฆฌํด ํน์ ์ค๋ฅ ๋ฐ์ํจ
- ๋์ ๋๋ฆฌ ๋ด์ ํค๊ฐ ์์ ๊ฒฝ์ฐ, ๋ฏธ๋ฆฌ ์ ํด๋ ๋ํดํธ ๊ฐ์ ๋์ ๊ฐ์ ธ์ค๊ฒ ํ๊ณ ์ถ์ ๋ get(x,’๋ํดํธ๊ฐ’)
>>> a={'name':'pey','phone':'010-1111-1111','birth':'1118'}
>>> a.get('name')
'pey'
>>> a.get('phone')
'010-1111-1111'
>>> print(a.get('nokey'))
None
>>> print(a['nokey'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'nokey'
#๋ํดํธ๊ฐ ์ฌ์ฉํ์ฌ ์ป๊ธฐ
>>> a.get('nokey','foo')
'foo' #๋ํดํธ๊ฐ ๋ฆฌํด
- ํด๋น key๊ฐ ๋์ ๋๋ฆฌ ๋ด์ ์๋์ง ์กฐ์ฌํ๊ธฐ -in
>>> a={'name':'pey','phone':'010-1111-1111','birth':'1118'}
>>> 'name' in a
True
>>> 'email' in a
False
2.6 ์งํฉ
์งํฉ ์๋ฃํ์ ์ด๋ป๊ฒ ๋ง๋ค๊น?
- set ํค์๋ ์ฌ์ฉ
>>> s1 = set([1,2,3])
>>> s1
{1, 2, 3}
>>> s2=set("hello")
>>> s2
{'l', 'h', 'e', 'o'}
์งํฉ ์๋ฃํ์ ํน์ง
- ์ค๋ณต์ ํ์ฉํ์ง ์์ (๋ฐ์ดํฐ์ ์ค๋ณต์ ์ ๊ฑฐํ๊ธฐ ์ํ ํํฐ๋ก ์ข ์ข ์ฌ์ฉ๋จ)
- ์์๊ฐ ์์(unordered)
- set ์๋ฃํ์ ์ ์ฅ๋ ๊ฐ์ ์ธ๋ฑ์ฑ์ผ๋ก ์ ๊ทผํ๋ ค๋ฉด, ๋ฆฌ์คํธ๋ ํํ๋ก ๋ณํ ํ ์ฌ์ฉ
>>> s1=set([1,2,3])
>>> l1 = list(s1) #๋ฆฌ์คํธ๋ก ๋ณํ
>>> l1
[1, 2, 3]
>>> l1[0]
1
>>> t1=tuple(s1) #ํํ๋ก ๋ณํ
>>> t1
(1, 2, 3)
>>> t1[0]
1
๊ต์งํฉ, ํฉ์งํฉ, ์ฐจ์งํฉ ๊ตฌํ๊ธฐ
- & ํน์ intersection( )
- | ํน์ union( )
-
- ํน์ difference( )
>>> s1=set([1,2,3,4,5,6])
>>> s2=set([4,5,6,7,8,9])
#๊ต์งํฉ
>>> s1&s2
{4, 5, 6}
>>> s1.intersection(s2)
{4, 5, 6}
#ํฉ์งํฉ
>>> s1|s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
#์ฐจ์งํฉ
>>> s1-s2
{1, 2, 3}
>>> s2-s1
{8, 9, 7}
>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{8, 9, 7}
์งํฉ ์๋ฃํ ๊ด๋ จ ํจ์
- ๊ฐ 1๊ฐ ์ถ๊ฐํ๊ธฐ -add
- ๊ฐ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ๊ธฐ -update
- ํน์ ๊ฐ ์ ๊ฑฐํ๊ธฐ -remove
>>> s1 = set([1,2,3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
>>> s1 = set([1,2,3])
>>> s1.update([4,5,6])
>>> s1
{1, 2, 3, 4, 5, 6}
>>> s1 = set([1,2,3])
>>> s1.remove(2)
>>> s1
{1, 3}
2.7 ๋ถ
์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ๋ด๋ ์๋ฃํ, True ํน์ False(์ฒซ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ์์ฑ)
๋ถ ์๋ฃํ์ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊น?
>>> a=True
>>> b=False
#type(x)๋ x์ ์๋ฃํ์ ํ์ธํ๋ ๋ด์ฅํจ์
>>> type(a)
<class 'bool'>
>>> type(b)
<class 'bool'>
์๋ฃํ์ ์ฐธ ๊ฑฐ์ง
- ๋ฌธ์์ด, ๋ฆฌ์คํธ, ํํ, ๋์
๋๋ฆฌ ๊ฐ์ด
- ๋น์ด์์ผ๋ฉด(””,[ ],( ),{ }) : False
- ๋น์ด์์ง ์์ผ๋ฉด : True
- ์ซ์์์
- ๊ฐ์ด 0์ด๋ฉด : False
- None : False
๋ถ ์ฐ์ฐ
>>> bool('python')
True
>>> bool('')
False
>>> bool([1,2,3])
True
>>> bool([])
False
>>> bool(0)
False
>>> bool(3)
True
2.8 ๋ณ์
๋ณ์๋ ์ด๋ป๊ฒ ๋ง๋ค๊น?
๋ณ์๋ช = ๋ณ์์_์ ์ฅํ _๊ฐ (๋ณ์์ ๋ด๊ธด ๊ฐ์ ์ค์ค๋ก ํ๋จํ์ฌ ์๋ฃํ์ ํ์ ์ ์ง์ ํจ)
๋ณ์๋?
- ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ
- ๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋๊ณ , ๋ณ์๋ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- id(๊ฐ์ฒด) : ๊ฐ์ฒด์ ์ฃผ์๊ฐ์ ๋ฆฌํดํ๋ ๋ด์ฅ ํจ์
>>> a=[1,2,3]
>>> id(a)
2287349544256
๋ฆฌ์คํธ๋ฅผ ๋ณต์ฌํ๊ณ ์ ํ ๋
- b=a์ ๊ฐ์ด ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ํ ๋น : ๊ฐ์ด ์๋ ์ฐธ์กฐ๊ฐ ๋ณต์ฌ๋จ (๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ฒ ํจ)
- ํ์ด์ฌ์์ ๋ณ์๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํฌํจX, ๋ฐ์ดํฐ๊ฐ์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ์ฐธ์กฐํจ
- ๋ณ์ ๊ฐ ํ ๋น์ ์ฐธ์กฐ ๋ณต์ฌ๋ฅผ ์๋ฏธํจ
>>> a=[1,2,3]
>>> b=a
#a์ b๋ ๋์ผํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค (์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๊ฐ ๋ณต์ฌ๋จ)
>>> id(a)
2287347093888
>>> id(b)
2287347093888
>>> a is b
True
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
- [:] ์ด์ฉํ๊ธฐ
- ์ฌ๋ผ์ด์ฑ์ผ๋ก ์์ฑ๋ ์๋ก์ด ๋ฆฌ์คํธ๋ ์๋์ ๋ฆฌ์คํธ์๋ ๋ค๋ฅธ ๊ฐ์ฒด์ด๋ฉฐ, ๋ ๋ฆฝ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋จ
>>> a=[1,2,3]
>>> b=a[:] # ๋ฆฌ์คํธa์ ๋ชจ๋ ์์๋ฅผ ์ฌ๋ผ์ด์ฑ
>>> a[1]=4
>>> b
[1, 2, 3]
- copy ๋ชจ๋ ์ด์ฉํ๊ธฐ
>>> from copy import copy
>>> a=[1,2,3]
>>> b=copy(a)
>>> b is a
False
- copy ํจ์(๋ฆฌ์คํธ ์๋ฃํ ์์ฒด ํจ์) ์ฌ์ฉํ๊ธฐ
>>> a=[1,2,3]
>>> b = a.copy()
>>> b is a
False
๋ณ์๋ฅผ ๋ง๋๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ
- ํํ๋ก a,b์ ๊ฐ ๋์
- ๋ฆฌ์คํธ๋ก ๋ณ์ ๋ง๋ค๊ธฐ
- ์ฌ๋ฌ ๊ฐ์ ๋ณ์์ ๊ฐ์ ๊ฐ ๋์
- ๋ ๋ณ์์ ๊ฐ ๋ฐ๊พธ๊ธฐ
#ํํ๋ก a,b์ ๊ฐ ๋์
>>> a, b =('python','life')
>>> a
'python'
>>> b
'life'
#ํํ์ ๊ดํธ ์๋ต ๊ฐ๋ฅ
>>> (a,b) = 'python','life'
>>> a
'python'
>>> b
'life'
#๋ฆฌ์คํธ๋ก ๋ณ์ ๋ง๋ค๊ธฐ
>>> [a,b] = ['python','life']
>>> a
'python'
>>> b
'life'
#์ฌ๋ฌ ๊ฐ์ ๋ณ์์ ๊ฐ์ ๊ฐ ๋์
>>> a=b='python'
>>> a
'python'
>>> b
'python'
#๋ ๋ณ์์ ๊ฐ ๋ฐ๊พธ๊ธฐ
>>> a=3
>>> b=5
>>> a,b = b,a
>>> a
5
>>> b
3
๋์๊น ๋ฌธ์
#1. ํ๊ท ์ ์ ๊ตฌํ๊ธฐ
a=80
b=75
c=55
print((a+b+c)/3)
#2. ํ์, ์ง์ ํ๋ณํ๊ธฐ
#๋๋จธ์ง ์ฐ์ฐ์๋ฅผ ์ด์ฉ, ์์ฐ์๋ฅผ 2๋ก ๋๋ ์ ๋๋จธ์ง๊ฐ 0์ด๋ฉด ์ง์, 1์ด๋ฉด ํ์์
a=13
if(a%2==0):
print(str(a)+"๋ ์ง์")
else :
print(str(a)+"๋ ํ์")
#3. ์ฃผ๋ฏผ๋ฒํธ ๋๋๊ธฐ
pin = '881120-1068234'
yyyymmdd = pin[0:6]
num=pin[7:]
print(yyyymmdd)
print(num)
#4. ์ฃผ๋ฏผ๋ฒํธ ์ธ๋ฑ์ฑ
pin = '881120-1068234'
hypen_indx = pin.index('-')
print(pin[hypen_indx+1:])
#5. ๋ฌธ์์ด ๋ฐ๊พธ๊ธฐ (a#b#c#d๋ก)
a="a:b:c:d"
print(a.replace(':','#'))
#6. ๋ฆฌ์คํธ ์ญ์ ์ ๋ ฌํ๊ธฐ (5,4,3,2,1๋ก ๋ง๋ค๊ธฐ)
a=[1,3,5,4,2]
a.sort()
a.reverse()
print(a)
#7. ๋ฆฌ์คํธ๋ฅผ ๋ฌธ์์ด๋ก ๋ง๋ค๊ธฐ [Life, is, too, short]๋ฅผ ๋ฌธ์์ด๋ก
a=['Life', 'is', 'too', 'short']
result = ' '.join(a)
print(result)
#8. ํํ ๋ํ๊ธฐ (1,2,3)์ 4๋ฅผ ์ถ๊ฐํ์ฌ (1,2,3,4) ๋ง๋ค๊ธฐ
a=(1,2,3)
a = a+(4, )
print(a)
#9. ๋์
๋๋ฆฌ์ ํค - ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ๊ทธ ์ด์
#๋์
๋๋ฆฌ์ ํค๋ก ๋ณํ๋ ๊ฐ์ ์ฌ์ฉํ ์ ์์ (๋ฌธ์์ด, ํํ, ์ซ์๋ ๋ณํ๋ ๊ฐ์ผ๋ก ํค๋ก ๊ฐ๋ฅ)
a=dict()
a['name'] = 'python'
a[('a',)] = 'python'
# a[[1]] = 'python'
a[250] = 'python'
#10. ๋์
๋๋ฆฌ ๊ฐ ์ถ์ถํ๊ธฐ ('B'๊ฐ)
a={'A':90,'B':80,'C':70}
result = a.pop('B')
print(a)
print(result)
#11. ๋ฆฌ์คํธ์์ ์ค๋ณต๋ ์ซ์ ์ ๊ฑฐํ๊ธฐ
a=[1,1,1,2,2,3,3,3,4,4,5]
aSet = set(a) #๋ฆฌ์คํธ๋ฅผ set์ผ๋ก ๋ฐ๊พธ๋ฉด์ ์ค๋ณต๊ฐ ์ ๊ฑฐ๋จ
b = list(aSet)
print(b)
#12. ํ์ด์ฌ ๋ณ์ (a,b๋ฅผ ์ ์ธํ ํ a์ ๋๋ฒ์งธ ์์๊ฐ์ ๋ณ๊ฒฝํ๋ฉด b๊ฐ์?)
# a์ b๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋ก b๋ฅผ ์ถ๋ ฅํ๋ฉด a์ ๊ฐ์ ์ถ๋ ฅ๊ฐ์ด ๋์ด
a=b=[1,2,3]
a[1] = 4
print(b)