리스트도 문자열과 동일한 인덱싱과 슬라이싱이 가능하다. 또한 변형 가능(mutable)하기 때문에 mutable sequence에서 공통으로 사용 가능한 연산(덧셈과 곱셈)을 적용할 수 있다. 이 부분은 문자열의 인덱싱/슬라이싱 포스트와 문자열의 덧셈과 곱셈를 참조하기 바란다.
리스트의 내장 메소들(method)들은 다음 표와 같다.
[표 1] 리스트의 메소드들
리스트 함수
|
동작
|
append(x)
|
x를 리스트의 마지막 요소로 추가한다.
|
extend(list)
|
list의 요소로 원 리스트를 확장한다.
|
insert(i, x)
|
x를 i번째 위치로 끼워 넣는다.
|
remove(x)
|
x와 같은 첫 번째 요소를 삭제한다.
|
pop()
pop(i)
|
마지막 요소를 삭제하고 반환한다.
i번째 요소를 삭제하고 반환한다.
|
clear()
|
모든 요소를 삭제한다.
|
index(x)
|
x와 같은 첫 번째 요소의 인덱스를 반환한다.
|
count(x)
|
x와 같은 요소들의 개수를 구한다.
|
sort()
|
정렬
|
reverse()
|
역순으로 배열
|
copy()
|
얕은 복사본을 반환한다.
|
이 함수들의 사용 예를 들면 다음과 같다.
>>> a = [66.25, 333, 333, 1, 1234.5]
|
append()함수와 extend()함수는 그 동작에 차이가 있다.
>>> x=list(range(5))>>> x.append([5.6]) # x의 마지막 요소로 [5,6] 이 들어간다.[0,1,2,3,4,[5,6]]>>> x=list(range(5))>>> x.extend([5.6]) # x의 오른쪽에 [5,6]의 요소를 병합시킨다.[0,1,2,3,4, 5,6] |
그리고 append() 함수와 pop()함수를 이용하면 리스트를 스택(stack)으로 운영할 수 있다.
>>> stack = [3, 4, 5]
|
이와 같이 리스트의 메쏘드를 이용하면 stack/queue 와 같은 고급 자료형을 쉽게 구현할 수 있다.
댓글 없음:
댓글 쓰기