문자열과 마찬가지로 리스트 변수명 뒤에 '.'을 붙여서 여러 가지 리스트의 관련 함수들을 이용할 수가 있다. 유용하게 쓰이는 리스트 관련 함수들 몇 가지에 대해서만 알아보기로 하자.
append의 뜻이 무엇인지 안다면 아래의 예가 금방 이해가 될 것이다. append(x)는 리스트의 맨 마지막에 x를 추가시키는 함수이다.
>>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4]
리스트내에는 어떤 자료형도 추가시킬 수가 있다. 아래의 예는 리스트에 다시 리스트를 추가시킨 결과를 보여준다.
>>> a.append([5,6]) >>> a [1, 2, 3, 4, [5, 6]]
sort 함수는 리스트의 요소를 순서대로 정렬한다.
>>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4]
문자 역시 마찬가지로 알파벳 순서로 정렬이 가능하다.
>>> a = ['a', 'c', 'b'] >>> a.sort() >>> a ['a', 'b', 'c']
reverse 함수는 리스트를 역순으로 뒤집어준다. 하지만 이것이 의미하는 것이 먼저 순서대로 정렬한 다음에 다시 역순으로 정렬하는 것은 아니다. 그저 리스트 그대로를 거꾸로 뒤집는 일을 할 뿐이다.
>>> a = ['a', 'c', 'b'] >>> a.reverse() >>> a ['b', 'c', 'a']
index(x) 함수는 리스트에 x라는 값이 있으면 그 위치를 돌려준다.
>>> a = [1,2,3] >>> a.index(3) 2 >>> a.index(1) 0
위의 예에서 리스트 a에 있는 3이라는 숫자는 a[2]이므로 2를 돌려주고, 1이라는 숫자는 a[0]이므로 0을 돌려준다.
아래의 예에서 0 이라는 값은 a 리스트에 존재하지 않기 때문에 에러가 난다.
>>> a.index(0) Traceback (innermost last): File "", line 1, in ? a.index(0) ValueError: list.index(x): x not in list
Traceback이란 문장부터 ValueError라는 문장까지가 에러메시지이다.
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다.
>>> a = [1,2,3] >>> a.insert(0, 4) [4, 1, 2, 3]
위의 예에서는 0번째 자리 즉 첫 번째 자리에 4 라는 값을 삽입하라는 뜻이 된다.
>>> a.insert(3, 5) [4, 1, 2, 5, 3]
위의 예는 리스트 a의 a[3], 즉 네 번째 자리에 5라는 값을 삽입하라는 뜻이다.
remove(x)는 첫번째 나오는 x 를 삭제하는 함수이다.
>>> a = [1,2,3,1,2,3] >>> a.remove(3) [1, 2, 1, 2, 3]
위의 예는 a가 3이라는 값을 두개 가지고 있을경우 첫번째 3만을 제거하는 것을 보여준다.
>>> a.remove(3) [1, 2, 1, 2]
다시 또 3을 삭제한다.
pop() 함수는 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다.
>>> a = [1,2,3] >>> a.pop() 3 >>> a [1, 2]
위의 예에서 보듯이 a 리스트 [1,2,3]에서 3을 끄집어내어서 최종적으로 [1, 2]만 남는 것을 볼 수 있다.
pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.
>>> a = [1,2,3] >>> a.pop(1) 2 >>> a [1, 3]
위의 예에서 보듯이 a.pop(1)는 a[1]의 값을 끄집어낸다.
count(x)는 리스트 중에서 x가 몇 개 있는지를 조사하여 그 갯수를 돌려주는 함수이다.
>>> a = [1,2,3,1] >>> a.count(1) 2
위의 예에서는 1이라는 값이 리스트 a에 두 개가 들어 있으므로 2를 돌려준다.
extend(x)에서 x에는 리스트만 올 수 있다. 원래의 a 리스트에 x 리스트를 더하게 된다.
>>> a = [1,2,3] >>> a.extend([4,5]) >>> a [1, 2, 3, 4, 5]
a.extend([4,5])는 a += [4,5]와 동일하다.