5) 리스트 (2)

리스트 관련 함수들

문자열과 마찬가지로 리스트 변수명 뒤에 '.'을 붙여서 여러 가지 리스트의 관련 함수들을 이용할 수가 있다. 유용하게 쓰이는 리스트 관련 함수들 몇 가지에 대해서만 알아보기로 하자.

리스트에 요소 추가 (append)

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)

sort 함수는 리스트의 요소를 순서대로 정렬한다.

>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]

문자 역시 마찬가지로 알파벳 순서로 정렬이 가능하다.

>>> a = ['a', 'c', 'b']
>>> a.sort()
>>> a
['a', 'b', 'c']

리스트 뒤집기(reverse)

reverse 함수는 리스트를 역순으로 뒤집어준다. 하지만 이것이 의미하는 것이 먼저 순서대로 정렬한 다음에 다시 역순으로 정렬하는 것은 아니다. 그저 리스트 그대로를 거꾸로 뒤집는 일을 할 뿐이다.

>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']

위치 반환 (index)

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)

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)

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)

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)

count(x)는 리스트 중에서 x가 몇 개 있는지를 조사하여 그 갯수를 돌려주는 함수이다.

>>> a = [1,2,3,1]
>>> a.count(1)
2

위의 예에서는 1이라는 값이 리스트 a에 두 개가 들어 있으므로 2를 돌려준다.

리스트 확장(extend)

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]와 동일하다.

예제를 연습해 봅시다