리스트
리스트(list)는 여러 값(원소)을 담을 수 있는 객체(object)를 뜻한다. 리스트는 대괄호 [, ]로 나타낸다. 메서드(method)는 특정 객체에 속한 함수(function)로, 리스트에 저장된 데이터를 조작하거나 정보를 얻는 데 사용된다. 리스트의 각 원소는 인덱스(index)로 가리키며, 인덱스는 0부터 시작한다.
인덱스와 슬라이싱
인덱스는 리스트에서 특정 순번의 원소를 가리키는 번호로, 0부터 시작한다. 여러 원소를 한 번에 가리키는 방법을 슬라이싱(slicing)이라 한다.
슬라이싱
리스트 l에 대해 인덱스 i의 원소는 l[i], 인덱스 i부터 j-1까지의 원소는 l[i:j], 인덱스 i부터 j-1까지 k 간격의 원소는 l[i:j:k]로 가리킨다.
>>> l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
>>> l[2]
'data'
>>> l[1:4]
[2.5, 'data', [4, 3]]
>>> l[0:7:2]
[1, 'data', 1.0, 2]
메서드
리스트가 가진 유용한 메서드는 다음과 같다.
list.append(x): 리스트의 끝에 원소x를 추가한다.list.insert(i, x): 인덱스i의 위치에 원소x를 추가한다.list.extend(s): 리스트의 끝에 객체s의 모든 원소를 추가한다.list.remove(x): 값이x와 같은 첫 번째 원소를 삭제한다.list.count(x): 원소x의 개수를 센다.list.index(x): 원소x가 처음 나타나는 인덱스를 찾는다.list.pop(i): 인덱스i의 원소를 삭제한다.
remove와 pop
remove는 값을 기준으로, pop은 인덱스를 기준으로 원소를 삭제한다.
>>> l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
>>> l.remove(2.5)
>>> l
[1, 'data', [4, 3], 1.0, 1.5, 2]
remove(2.5)는 값이 2.5와 같은 원소를 삭제한다.
>>> l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
>>> l.pop(2)
'data'
>>> l
[1, 2.5, [4, 3], 1.0, 1.5, 2]
pop(2)는 인덱스 2(0부터 세어 세 번째 원소)인 'data'가 삭제된다.