Python
[Python] ์ ๊ทํํ์ sub
์ ๊ทํํ์์ ๋ฌธ์์ด์ ์กฐ๊ฑด์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ์ ์ฉํ๋ฉด ๊ฐ๊ฒฐํ๊ฒ ์ฝ๋๋ฅผ ๊ตฌํํ ์ ์๋ค. ์ด์ ํ๋ก์ ํธ์์ ๋ก๊ทธ์ธ์ ๊ตฌํํ ๋ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๋น๋ฐ๋ฒํธ ๊ฒ์ฌ ์ฝ๋๋ฅผ ์ ๊ท์์ ํตํด ์์ํ๊ฒ ๊ตฌํํ๋ ๊ธฐ์ต์ด ์๋ค. ๋๋๊ฒ๋ ์นด์นด์ค ์ฝํ ์๋ ์ ๊ท์์ ์ด์ฉํ ๋งํ ๋ฌธ์ ๊ฐ ๊ฝค ๋์จ๋ค๊ณ ํ๋ค. ๊ฒธ์ฌ๊ฒธ์ฌ ๊ณต๋ถํด์ผ์ง. ์ ๊ทํํ์์ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ re ํจํค์ง๋ฅผ ์ด์ฉํด ์ฌ์ฉํ ์ ์๋ค. import re re.sub(pattern, replacement, string) string์์ pattern๊ณผ ์ผ์นํ๋ ๋ฌธ์์ด์ replacement๋ก ์นํ print(re.sub('\d{4}', 'XXXX', '010-1234-5678')) # 010-XXXX-XXXX ์ด๋ฅผ ํ์ฉํ์ฌ ํน์ pattern์ ํฌํจํ ๋ฌธ์์ด์ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ๋ ..
[Python] ๋ฆฌ์คํธ, 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ | sort()
ํ์ด์ฌ์๋ sort()๋ผ๋ ๋ด์ฅ ํจ์๊ฐ ์กด์ฌํด ๊ฐ๋จํ๊ฒ ์ค๋ฆ์ฐจ์, ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฆฌ์คํธ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค. 1. ๋ฆฌ์คํธ ์ ๋ ฌํ๊ธฐ - ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ arr = [2,3,4,5,1] arr.sort() print(arr) # [1,2,3,4,5] - ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ arr = [2,3,4,5,1] arr.sort(reverse=True) print(arr) # [5,4,3,2,1] 2. 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ - ๊ธฐ๋ณธ sort() ์ฌ์ฉํ๊ธฐ arr[i]๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. arr = [[2,3],[1,2],[0,4]] arr.sort() print(arr) # [[0, 4], [1, 2], [2, 3]] - ํน์ ๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ Case1. ํ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ..
[Python] Collections - deque | ๊ฐ๋ , ๋ฉ์๋, list์์ ์ฐจ์ด
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด ์์ฃผ ์ฌ์ฉํ๋ Collections ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ deque ํด๋์ค์ ๋ํด ์์๋ณด์ ! 1. Deque๋? ์๋ฐฉํฅ์์ ํ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ queue(ํ)๋ FIFO(First in, First out), ์ฆ ๋จผ์ ๋ค์ด๊ฐ ์์๊ฐ ๋จผ์ ๋์ค๋ ์ ์ ์ ์ถ ์๋ฃ๊ตฌ์กฐ์ด๋ค. deque๋ ์๋ฐฉํฅ ํ์ ๊ตฌ์กฐ์ด๊ธฐ์ ์, ๋ค ์์ชฝ ๋ฐฉํฅ์์ element ์ถ๊ฐ/์ ๊ฑฐ๊ฐ ๊ฐ๋ฅํ ์ ์ฉํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. 2. deque์ ๋ฉ์๋(Method) - append(x) : deque ์ค๋ฅธ์ชฝ์ x๋ฅผ ์ถ๊ฐ from collections import deque d = deque('abc') # deque ์์ฑ d.append(1) print(list(d)) # listํ์ผ๋ก ์ถ๋ ฅ # ['a','b','c',1]..
[Python] list B = A์ B = A[:]์ ์ฐจ์ด
ํ์ด์ฌ์์ list A์ ์์์ ๊ฐ์ ๋ค๋ฅธ ๋ฆฌ์คํธ์ ๊ทธ๋๋ก ๋ฃ์ด์ฃผ๊ณ ์ถ์ ๋, A = [1,2,3] B = A A = [1,2,3] B = A[:] ์ด ๋ ๊ฐ์ ์ฝ๋๋ ์ผํ๋ณด๋ฉด ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ผ ๊ฒ ๊ฐ์ง๋ง (์ค์ ๋ก๋ B = [1,2,3]์ด๋ผ๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ๊ธด ํ๋ค.) ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ B๊ฐ A๋ฅผ ์ฐธ๊ณ ํ๊ฒ ๋์ด ์๋ก์ ๊ฐ์ ์ํฅ์ ์ฃผ๊ฒ ๋๋ค. ๋ณ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๋ฉด์ ๊ฐ์ ์์๋ฅผ ๋ฃ์ด์ฃผ๊ณ ์ถ๋ค๋ฉด ๋ ๋ฒ์งธ ์ฝ๋๋ฅผ ์ฌ์ฉํ์!
[Python] itertools: permutations, combinations | ์์ด, ์กฐํฉ
permutations (์์ด) iterable ๊ฐ์ฒด์์ n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ์ผ๋ ฌ๋ก ๋์ดํ๋ ๋ชจ๋ ๊ฒฝ์ฐ product (์ค๋ณต์์ด) iterable ๊ฐ์ฒด์์ ์ค๋ณต์ ํ์ฉํ์ฌ n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ์ผ๋ ฌ๋ก ๋์ดํ๋ ๋ชจ๋ ๊ฒฝ์ฐ combinations (์กฐํฉ) iterable ๊ฐ์ฒด์์ n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ์์๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๋์ดํ๋ ๋ชจ๋ ๊ฒฝ์ฐ combinations_with_replacement (์ค๋ณต์กฐํฉ) iterable ๊ฐ์ฒด์์ ์ค๋ณต์ ํ์ฉํ์ฌ n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ์์๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๋์ดํ๋ ๋ชจ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฌ์ฉํ ์์๋ ์๋์ ๊ฐ๋ค. from itertools import combinations, combinations_with_replacement, permutations, product data..
[Python] 2์ฐจ์ ๋ฐฐ์ด์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ๊ตฌํ๊ธฐ
2์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ map ํจ์๋ฅผ ์ด์ฉํด ์ ์ฒด ๋ฆฌ์คํธ์์ ์ต๋๊ฐ / ์ต์๊ฐ์ ๊ตฌํ ์ ์๋ค. result = [[1,2,3,4,5],[5,6,7,8,9]] print(max(result)) # ์์ ๊ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ๋ฆฌ์คํธ print(max(map(max,result))) # ์ต๋๊ฐ print(min(map(min,result))) # ์ต์๊ฐ ๋ฆฌ์คํธ์ ์ด์ ์ต๋๊ฐ, ์ต์๊ฐ์ด ๊ถ๊ธํ๋ค๋ฉด ์๋์์ฒ๋ผ ํ์ฉํด์ฃผ๋ฉด ๋๋ค. result = [[1,2,3,4,5],[5,6,7,8,9]] print(max(r[0] for r in result)) # 5 print(min(r[1] for r in result)) # 2
[Python][Error] KeyError: 0
Dictionary ์์ ํด๋นํ๋ Key์ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ์๋ฌ์ด๋ค.
[Python] range()
range(): ์ฐ์๋ ์ ๋๋ ์ผ์ ๊ฐ๊ฒฉ์ ์ฐ์๋ ์๋ฅผ ๋ง๋๋ ํจ์ - 0 ~ (n-1)์ ์ range(n) - n ~ (m-1)์ ์ range(n,m) - n ~ (m-1) ์ค step ๊ฐ๊ฒฉ์ผ๋ก ์๋ฅผ ๋ํ๋ range(n,m,step)