Page 39 -
P. 39
표 4.1.6 파이썬 내장 list 데이터 타입의 주요 API
연산 설명
고정 시간 연산
len(a) a의 길이 반환
a[i] a의 i번째 항목(인덱스 접근)
a[i] = v a의 i번째 항목을 v로 교체(인덱스 접근)
a += [v] v 항목을 a 리스트의 마지막에 연결(리스트 변경)
a.pop() a[len(a) – 1] 항목을 리스트에서 제거하고 반환
선형 시간 연산
a + b a와 b를 연결
a[i:j] [a[i], a[i+1], …, a[j-1]] 반환(슬라이싱)
a[i:j] = b a[i] = b[0], a[i+1] = b[1], … (슬라이스 할당)
v in a v 항목이 a에 포함되어 있으면 True, 아니면 False를 반환(포
함)
for v in a a에 들어 있는 항목들을 반복(반복)
del a[i] a[i] 항목을 리스트에서 삭제(인덱스 접근 삭제)
a.pop(i) a[i] 항목을 리스트에서 삭제하고 반환
a.insert(i, v) a[i] 앞에 항목 v를 삽입
a.index(v) a에서v가 처음 나타난 항목의 인덱스
a.reverse() a의 항목들을 역순으로 재정렬
min(a) a에서 가장 작은 항목
max(a) a에서 가장 큰 항목
sum(a) a 항목들의 합계
선형 로그 시간 연산(4.2절 참조)
a.sort() a의 항목들을 오름차순으로 재정렬
주의1: a += [v]와 a.pop() 연산은 ‘분할 상환’ 고정 시간이 걸린다(본문 참조).
주의2: del a[i], pop(i), insert(i, v) 연산은 i가 len(a)에 가까울 때 '분할
상환' 고정 시간이 걸린다.
주의3: 슬라이스 연산은 슬라이스 연산에 비례한 시간이 걸린다.
주의4: min(), max(), sum() 연산을 실행하려면 a 안의 항목들이 서로 호환되는
데이터 타입이어야 한다.
492