1.리스트 메서드
| 메소드 | 설명 |
|---|
| append(값) / append(리스트) | 리스트 끝에 값을 추가, 리스트[len(리스트):] = 값 과 같음 |
| extend(리스트) | 리스트 끝에 다른 리스트 연결, 리스트[len(리스트)] = [값, 값] 과 같음 |
| insert(인덱스, 값) | 리스트의 특정 인덱스에 값을 추가 |
| pop() / pop(인덱스) | 리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환 |
| remove(값) | 리스트에서 특정 값을 삭제 |
| index(값) | 리스트에서 특정 값의 인덱스를 구함 |
| count(값) | 리스트에서 특정 값의 개수를 구함 |
| reverse() | 리스트에서 값의 순서를 반대로 뒤집음 |
| sort() | 리스트의 값을 작은 순서대로 정렬(오름차순) |
| clear() | 리스트의 모든 값을 삭제, del a[:] 와 같음 |
| copy() | 리스트를 복사하여 새 리스트 생성 |
2.리스트 요소 추가하기 .append()
a = [10, 20, 30]
a.append(500)
a
2-1.빈 리스트에 값 추가하기
a = []
a.append(10)
a
2-2.리스트 안에 리스트 추가하기
a = [10, 20, 30]
a.append([500, 600])
a
3.리스트 확장하기 .extend()
a = [10, 20, 30]
a.extend([500, 600])
a
4.리스트의 특정 인덱스에 요소 추가 .insert()
# 리스트의 맨 처음에 요소 추가
insert(0, 요소)
# 리스트 끝에 요소를 추가
insert(len(리스트),요소)
a = [10, 20, 30]
a.insert(len(a), 500)
a
5.리스트에서 요소 삭제하기 .pop() .remove()
- 리스트의 마지막 요소를 삭제한 뒤 삭제한 요소를 반환 .pop()
a = [10, 20, 30]
a.pop()
- 원하는 리스트의 요소를 삭제한 뒤 삭제한 요소 반환 .pop(인덱스)
a = [10, 20, 30]
a.pop(1)
- 원하는 리스트의 요소를 삭제한 뒤 삭제한 요소 반환 .del(인덱스)
a = [10, 20, 30]
del a[1]
a
6.리스트로 스택과 큐 만들기
- 리스트로 스택 만들기
- 파이썬에서 스택은 리스트를 그대로 활용해도 됨

- 스택에서 pop() 대신 pop(0)을 사용하면 큐가 됨
- append(), pop(0)이 아닌 insert(0,요소), pop()을 사용해서 추가/삭제 방향을 반대로 해도 큐가 됨

- 파이썬에서 큐는 덱(deque, double, ended, queue)이라는 자료형을 제공
deque(반복가능한객체)
from collections import deque
a = deque([10, 20, 30])
a.append(500) # 덱의 오른쪽에 500추가
a.popleft(). # 덱의 왼쪽 요소 하나 삭제
7.리스트에서 특정 값의 인덱스 구하기 .index(값)
a = [10, 20, 30, 15, 20, 40]
a.index(20)
8.특정 값의 개수 구하기 .count(값)
a = [10, 20, 30, 15, 20,40]
a.count(20)
9.리스트의 순서를 뒤집기 .reverse()
a = [10, 20, 30, 15, 20, 40]
a.reverse()
10.리스트의 요소를 정렬하기 .sort()
- sort 메서드와 sorted 함수 차이 : 메서드는 사용한 리스트 변경, 함수는 정렬된 새 리스트를 생성
a = [10, 20, 30, 15, 20, 40]
a.sort()
11.리스트의 모든 요소를 삭제하기 .clear()
a = [10, 20, 30]
a.clear()
a
# del a[:]와 같이 시작, 끝 인덱스를 생략하여 모든 요소 삭제
a = [10, 20, 30]
del a[:]
a
12.리스트를 슬라이스로 조작하기
a = [10, 20, 30]
a[len(a):] = [500]