① 리스트에서 사용할 수 있는 메서드(Method)는 다음과 같다.
메서드 | 설명 |
.append() | 추가하고자 하는 요소를 리스트의 끝 부분에 추가해 준다. |
.clear() | 리스트에 있는 모든 요소를 제거해 빈 리스트만 남게 한다. |
.copy() | 리스트를 통째로 복사해서 반환한다. |
.count() | 리스트에 특정 x가 몇 개 있는 지 조사하여 그 값을 반환한다. |
.extend() | 리스트와 리스트를 이어 붙여준다. |
.index() | 찾고자 하는 x의 인덱스를 반환한다. |
.insert() | x를 y번째 인덱스에 추가해준다. |
.pop() | 리스트의 특정 인덱스의 요소를 삭제한다. |
.remove() | 첫 번째로 나오는 특정 x를 리스트에서 삭제한다. |
.reserve() | 리스트의 순서를 뒤집는다. |
.sort() | 리스트를 순서대로 정렬한다. |
② 다음은 리스트에 항목을 추가 및 확장해주는 메서드에 대한 설명이다.
㉠ .append(), .insert(), .extend() 메서드를 이용해 기존의 리스트에 항목을 추가할 수 있다.
㉡ .append()는 추가하고자 하는 요소를 리스트의 끝 부분에 추가해준다.
㉢ .insert()는 요소를 해당 인덱스에 추가해준다.
ⓐ .append()와 .insert()는 유사하지만, .append()는 리스트의 특정 위치에 추가할 수 없다는 차이가 있다.
㉣ .insert() 의 경우 범위를 초과하는 인덱스를 입력할 경우, 리스트의 인덱스가 연속되도록 조정된다.
㉤ .extend()는 기존의 리스트에 다른 리스트를 이어 붙여준다.
ⓐ extend()는 리스트 또는 튜플만 이어 붙일 수 있다.
㉥ 덧셈 연산자(+)와 곱셈 연산자(*)를 이용해 리스트를 확장할 수 있다.
③ 다음은 리스트에 항목을 제거해주는 메서드에 대한 설명이다.
㉠ .pop(), .remove(), .clear() 메서드를 이용해 기존의 리스트에 항목을 제거할 수 있다.
㉡ .pop()는 리스트의 특정 인덱스의 값을 삭제하고 리턴한다.
ⓐ 괄호 속 매개변수가 생략되엉 있으면 .pop()는 리스트의 오른쪽 끝 요소를 삭제함과 동시에 리턴한다.
㉢ .remove()는 리스트에서 임의의 요소를 삭제한다. 중복될 경우 첫 번째로 등장한 특정 요소를 삭제한다.
ⓐ .remove()를 사용할 때 삭제하고자 하는 값이 리스트 내에 없으면 오류가 발생한다.
㉣ clear() 메서드는 리스트에 있는 모든 요소를 제거해 빈 리스트만 남게 한다.
㉤ del 키워드는 리스트에 있는 특정 인덱스의 값을 삭제할 수 있다.
ⓐ 인덱스를 지정하지 않으면 리스트 전체를 삭제한다.
ⓑ del 키워드와 remove()는 비슷해보이지만, remove()는 매개변수로 인덱스가 아닌 첫 번째로 나타나는 요소를 갖는다.
④ 다음은 리스트 내부를 조사하는 메서드에 대한 설명이다.
㉠ count(), index() 메서드를 이용해 리스트의 내부를 조사할 수 있다.
㉡ count() 메서드는 리스트에 특정 x가 몇 개 있는 지 조사하여 그 값을 반환한다.
ⓐ 특정 x가 리스트 안에 존재하지 않더라도 0이 반환되므로 오류가 발생하지 않는다.
㉢ index() 메서드는 찾고자 하는 x의 인덱스를 반환한다.
ⓐ 찾고자 하는 x가 리스트 안에 없으면 오류가 발생한다.
⑤ 다음은 리스트의 정렬과 관련된 메서드에 대한 설명이다.
㉠ sort(), reverse() 메서드를 이용해 리스트를 정렬할 수 있다.
㉡ sort()는 리스트 내의 요소를 오름차순으로 정렬시켜준다.
ⓐ 서로 다른 데이터 타입의 순서 비교는 불가능하다.
ⓑ sort()로 reverse = True로 인자를 사용할 경우 리스트 내의 요소를 내림차순으로 정렬할 수 있다.
ⓒ reverse = False로 인자를 사용할 경우 리스트 내의 요소를 원래대로인 오름차순으로 정렬할 수 있다.
㉢ reverse() 메서드는 리스트의 순서를 뒤집는다.
ⓑ 리스트의 앞뒤 순서만 바꾸는 것이지 요소들을 특정 순서로 정렬하지는 않는다.
㉣ sorted() 함수를 이용하여 정렬된 리스트를 리턴할 수 있다. 단, 리스트의 정렬된 상태는 변하지 않는다.
⑥ 다음은 리스트를 복사하는 메서드에 대한 설명이다.
㉠ copy() 메서드를 사용하는 이유는 리스트의 경우 할당 연산자를 사용할 경우 직접 값을 가져와 사용하는 것(Call by value)이 아닌 다른 변수를 참조해서 사용(Call by reference)하기 때문에 버그가 발생할 수 있다.
ⓐ b에 3을 추가했지만, a에도 3이 추가되었음을 알 수 있다.
ⓑ 이러한 상황을 방지하는 방법은 copy() 메서드를 이용하거나 각 인덱스를 일대일 대응시켜서 할당해주면 된다.
㉡ copy()는 리스트를 통째로 복사해서 반환한다.
㉢ 리스트 생성자를 이용해서 리스트를 복사할 수도 있다.
㉣ 각 인덱스별로 요소를 일대일로 할당시키는 방법도 있다.
'All about Python > 심화' 카테고리의 다른 글
루프 제어 continue, break (0) | 2022.05.27 |
---|---|
Python 리스트 내포(List comprehension) (0) | 2022.05.27 |
Python 문자열 메서드 (0) | 2022.04.17 |
Python 콜론(Colon) (0) | 2021.12.26 |
Python 가변인자 *(Asterisk) (0) | 2021.08.29 |