Python 단권화

jjin·2023년 10월 17일
0

https://wikidocs.net/1015

list

OperationExampleBig-ONotes
Indexl.index(v)O(N)
Lengthlen(l)O(1)
Appendl.append(5)O(1)
Popl.pop()O(1)l.pop(-1) 과 동일
Clearl.clear()O(1)l = [] 과 유사
Slicel[a:b]O(b-a)l[:] : O(len(l)-0) = O(N)
Extendl.extend(...)O(len(...))확장 길이에 따라
Constructionlist(...)O(len(...))요소 길이에 따라
==, !=l1 == l2O(N)순서도 같아야 동일
Insertl.insert(i, v)O(N)
Deletedel l[i]O(N)
Removel.remove(…)O(N)
Containmentx {not} in lO(N)검색
Copyl.copy()O(N)l[:] 과 동일 - O(N)
Popl.pop(i)O(N)pop(): O(1)
Extreme valuemin(l)/max(l)O(N)검색
Reversel.reverse()O(N)
Iterationfor v in l:O(N)
Sortl.sort(key=, reverse=)O(N Log N)sorted(l)도 비슷
Multiplyl * kO(k N)[1,2,3] * 3 » O(N**2)

dict

OperationExampleBig-ONotes
Indexd[k]O(1)
Stored[k] = vO(1)
Lengthlen(d)O(1)
Deletedel d[k]O(1)
setdefaultd.setdefault(k, [insertVifNotExist])O(1)get/set한 값 반환, default: None
Popd.pop(k)O(1)
Pop itemd.popitem()O(1)
Cleard.clear()O(1)d = {} or = dict() 유사
Viewd.keys()O(1)d.values() 동일
Constructiondict(…)O(len(…))
Iterationfor k in d:O(N)
# c++ map처럼 사용
tot += d.setdefault(k, 0) 

deque

from collections import deque


# 생성
d = deque(list)

# append, appendleft
d.append(6)
d.appendleft('hi')


# pop, popleft
x = d.pop()
x = d.popleft() # O(1), x = l.pop(0) # O(N)


# rotate
d = rotate(2) # 양수: 시계, 음수: 반시계
>>> [4, 5, 1, 2, 3]




profile
진짜

0개의 댓글