Languages/Python

Languages/Python

파이썬 기본 함수 시간복잡도

List Operation Average Case Amortized Worst Case Copy O(n) O(n) Append[1] O(1) O(1) Pop last O(1) O(1) Pop intermediate[2] O(n) O(n) Insert O(n) O(n) Get Item O(1) O(1) Set Item O(1) O(1) Delete Item O(n) O(n) Iteration O(n) O(n) Get Slice O(k) O(k) Del Slice O(n) O(n) Set Slice O(k+n) O(k+n) Extend[1] O(k) O(k) Sort O(n log n) O(n log n) Multiply O(nk) O(nk) x in s O(n) min(s), max(s) O(n) Get ..

Languages/Python

파이썬 코드 리팩토링

1. 당장 한 번 쓰려고 급하게 만든 코드. 쓸모없는 주석도 붙어있다. import csv with open('../Data/portfolio_02_empty_row.csv') as f: pf = csv.reader(f) hdrs = next(pf) pfl = [] for i in pf: rec = dict(zip(hdrs, i)) # 헤더와 합치기 pfl.append(rec) with open('../Data/prices_02_empty_row.csv') as f: prc = csv.reader(f) prcs = [] for i in prc: rec = tuple(i) prcs.append(rec) prcs = dict(prcs) # 딕셔너리로 변환 rpt = [] for p in pfl: cur_pr..

Languages/Python

%matplotlib inline 의 의미

%matplotlib inline jupyter notebook 에서 위 문장의 의미는 Rich output(그림, 소리, 애니메이션 등의 결과물)을 창 내부에 출력하도록 하는 것. 별도 창으로 뜨게 하고싶다면 %matplotlib tk 활용할 것.

Languages/Python

코드 맨 윗줄 # -*- coding: utf-8 -*- 의 이유

왜인지 링크가 날아가서 다시 수정함. 코딩 시에 맨 윗줄에 # -*- coding: utf-8 -*- 를 입력하는 경우를 많이 볼 수 있는데, 내 주변의 생각보다 많은 사람들이 이것이 코드 자체를 UTF-8로 변환하여 한글 폰트를 깨지지 않게 해 주는것이라고 알고있더라. 내가보기엔 그냥 아무리봐도 그저 주석일 뿐이었는데, 도저히 이해가 안되어 좀 더 확실히 찾아 본 결과는 아래와 같다. 과거, 주로 파이썬2를 사용할 때에는 기본 인코딩이 ascii였기 때문에 한글로 코딩을 하게되는 경우 폰트가 깨지게되었고, 이를 명시하기 위해 코드 맨 윗줄에 '이 코드는 ascii로 표현되지 않는 한글을 포함하고 있으므로 UTF-8로 인코딩 해서 읽을 것' 이라는 일종의 알림 메시지를 작성한 것이고, 파이썬 3부터는 기..

HC-Kang
'Languages/Python' 카테고리의 글 목록