์๊ณ ๋ฆฌ์ฆ ๋ฐ ์๋ฃ๊ตฌ์กฐ ๋์ํ
ํค์๋
- ํ์ด์ฌ์ ๋ค์ํ ๋ฉ์๋
- ์ปฌ๋ ์ ์๋ฃํ(list, tuple, set, dictionary) ์ฐจ์ด
- ์๋ฃ๊ตฌ์กฐ
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์ปดํจํ ์ฌ๊ณ ๋ ฅ
ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ํด๊ฒฐ ์ฌ๊ณ
- ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋ถํ ํ๋ฉด์ ์๊ฐ
- ๋ฌธ์ ์ ๋ํ ํจํด์ ๋ฐ๊ฒฌ
- ๋ฌธ์ ๋ฅผ ์ต์ํ์ ๋น์ฉ์ผ๋ก ์ต๋ํ ๋น ๋ฅด๊ฒ ํด๊ฒฐ
์ ๊ทํํ์(regex)
- ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ํน์ ํ ์กฐ๊ฑด์ ๋ฌธ์๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์นํํ๋ ๊ณผ์ ์ ๋งค์ฐ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- Meta๋ฌธ์ : ์ ๊ทํํ์์์ ์ฌ์ฉ๋๋ ๊ธฐํธ
import re
wordlist = ["color", "colour", "acolor"]
for word in wordlist:
if re.search('col.r', word) :
print(word) ### color, acolor 2๊ฐ ๋ชจ๋ ์ถ๋ ฅ
if re.match('col.r', word) :
print(word) ### color 1๊ฐ๋ง ์ถ๋ ฅ
escape ๋ฌธ์
- \n : ์ค๋ฐ๊ฟ
- \t : tab
- \b : ๋ฐฑ์คํ์ด์ค
- \r : ๋ผ์ธ์ ์์ ์์น๋ฅผ ๊ฒฐ์ ex) print(' \rjayden') -> ์ ๊ณต๋ฐฑ์ ์์ด jayden ์ถ๋ ฅ
raw string
- ์์ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋ฌธ์์ด ๋ด์์ ํน์ํ๊ฒ ์ฌ์ฉ๋๋ ๋ฌธ์๋ค์ ๊ทธ๋๋ก ์ถ๋ ฅ
- ex) print(r'C:\programs\jayden') -> ๋ฌธ์์ด ๊ทธ๋๋ก C:\programs\jayden ์ถ๋ ฅ
์์ ๋ณต์ฌ vs ๊น์ ๋ณต์ฌ (vs ํ ๋น)
์์ ๋ณต์ฌ
a = [[1, 2], [3, 4]]
b = a.copy()
a[0].append(0)
print(a) ### [[1, 2, 0], [3, 4]]
print(b) ### [[1, 2, 0], [3, 4]]
์ฃผ์ํ ์
a = [[1, 2], [3, 4]]
b = a.copy()
a.append(0)
print(a) ### [[1, 2], [3, 4], 0]
print(b) ### [[1, 2], [3, 4]]
- ๋ฆฌ์คํธ ๋ด์ ์ธ์ ๋ฆฌ์คํธ๋ค์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์ง๋ง, ๊ฐ์ฅ ๋ฐ๊นฅ ๋ฆฌ์คํธ ์์ฒด๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ ์ฐจ์ด๊ฐ ๋ฐ์
๊น์ ๋ณต์ฌ
import copy
a = [[1, 2], [3, 4]]
b = copy.deepcopy(a)
a[0].append(0)
print(a) ### [[1, 2, 0], [3, 4]]
print(b) ### [[1, 2], [3, 4]]
- ์์ ์์ ๋ณต์ฌ ์ฒซ๋ฒ์งธ ์์์ ๋ค๋ฅด๊ฒ ์์ ๋ฆฌ์คํธ ์์ฒด๋ฅผ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ์ฌ ๋ณต์ฌํ๋ ๊ฐ๋
๋ฐ๋ณต๋ฌธ
arr = [1, 2, 3]
for x in arr:
if x==2:
continue
else:
print(x)
### 1, 3 ์ถ๋ ฅ
for x in arr:
if x==2:
break
else:
print(x)
### 1 ๋ง ์ถ๋ ฅ(2์์ ๋ฐ๋ณต๋ฌธ ์์ฒด๊ฐ break)
์ถ๊ฐ๊ฐ๋ (continue์ pass ์ฐจ์ด)
arr = [1, 2, 3]
for x in arr:
if x==2:
continue
print('jayden')
else:
print(x)
### 1, 3 ์ถ๋ ฅ -> continue๋ ๊ทธ ์ฆ์ ๋ค์ ๋ฐ๋ณต๋ฌธ์ ์คํ
for x in arr:
if x==2:
pass
print('jayden')
else:
print(x)
### 1, jayden, 3 ์ถ๋ ฅ -> ์ฆ, pass๋ pass ์ดํ์ ๋ช
๋ น์ด๋ ์ํํ๊ณ ๋ค์ for๋ฌธ์ผ๋ก ๋์๊ฐ
append ์ extend ์ฐจ์ด
# '๋ฆฌ์คํธ' ์ถ๊ฐ
exam1 = ['jayden', 'sori']
exam1.append(['hodu', 'goguma'])
print(exam1)
### ['jayden', 'sori', ['hodu', 'goguma']]
exam2 = ['jayden', 'sori']
exam2.extend(['hodu', 'goguma'])
print(exam2)
### ['jayden', 'sori', 'hodu', 'goguma']
# '๋ฌธ์์ด' ์ถ๊ฐ
exam3 = ['jayden', 'sori','hodu']
exam3.append('goguma')
print(exam3)
### ['jayden', 'sori', 'hodu', 'goguma']
exam4 = ['jayden', 'sori','hodu']
exam4.extend('goguma')
print(exam4)
### ['jayden', 'sori', 'hodu', 'g', 'o', 'g', 'u', 'm', 'a']
lambda ํ์ฉ
- def๋ฅผ ์ฐ์ง ์๊ณ ๊ฐ๋จํ๊ฒ ํจ์๋ฅผ ๋ง๋ค ์ ์์(์ฃผ๋ก ๊ท๋ชจ๊ฐ ์์ ํจ์๋ฅผ ์ธ ๋ ์ฌ์ฉ)
- ์ด๋ฆ์๋ ํจ์๋ผ๊ณ ๋ ๋ถ๋ฆผ
arr = [1, 2, 3, 4, 5]
### arr ๋ด์ ์ซ์๋ฅผ ์ ๊ณฑํ ์ซ์๋ค์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ผํ๋ค๊ณ ํ ๋
ans = [i for i in map(lambda x: x ** 2, arr)]
print(ans) ### [1, 4, 9, 16, 25] ์ถ๋ ฅ
ํ์ด์ฌ์ ๋ด์ฅํจ์ ๋ฐ ๋ฉ์๋์ ๊ทนํ ์ผ๋ถ๋ถ!
๋ฐ๋์ ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉด์ ๋์, ์์ ์ตํ๊ณ ํ์ฉํ๊ธฐ
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 94. python OOP (0) | 2022.03.30 |
---|---|
[TIL] 93. python ๋ฌธ์ ํด๊ฒฐ (0) | 2022.03.29 |
[TIL] 85. GAN(Generative Adversarial Networks) (0) | 2022.03.15 |
[TIL] 84. AutoEncoder (0) | 2022.03.14 |
[TIL] 83. Image Segmentation, Object Detection/Recognition (0) | 2022.03.12 |