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
   34   35   36   37   38   39