len(a) = O(1) (맨 마지막 인덱스만 보면 됨)
a[i] = O(1) (1개 조회)
a.append(elem) = O(1) (다른 인덱스를 건드리지 않음)
a.pop(0) = O(n) (다른 인덱스 모두 하나씩 앞당겨짐) >> 전체 복사 필요 = 큐 연산
cf) 보다 효율적인 연산을 위해 리스트보다는 데크(deque) 권장 >> O(1)에 처리가능
a.pop() = O(1) = 스택연산
del a[i] = O(n) : i에 따라 다르다. 최악의 경우 O(n) (0일경우에는 a.pop(0)이랑 동일)
a.sort() = O(nlogn) : 정렬은 팀소트를 사용하며 최선의 경우에는 O(n)에 사용 ㄱㄴ
min(a),max(a) = O(n) : 전체 선형 탐색 필요
a.insert(3,5)
a
>>[1,2,3,5,4]
존재하지 않는 인덱스를 조회하면 index error(list index out of range) 발생
그때 try 구문을 사용하여 에러에 대한 예외처리 가능
try:
print(a[9])
except IndexError:
print("존재하지 않는 인덱스")