DEQUE
: 스택과 큐의 기능을 모두 가진 객체로 출입구를 양쪽에 가지고 있음.
따라서, 스택처럼 사용이 가능하고 큐처럼 사용도 가능함.
1. 스택 구현
스택은 오른쪽 끝(마지막)에서 입출력
- append() : 입력 시, 사용
- pop() : 출력 시, 사용
2. 큐 구현
왼쪽(처음)에서 입력, 오른쪽(마지막)에서 출력
- appendleft() : 왼쪽에 값을 입력 시, 사용
- pop() : 오른쪽 출력 시, 사용
- append() : 오른쪽에 값을 입력 시, 사용
- popleft() : 왼쪽 출력 시, 사용
참고🐣
pop()
리스트의 맨 마지막 원소를 리턴하고 해당 원소는 삭제
pop(i)는 리스트의 i번째 원소를 리턴하고 삭제
i = [0, 1, 2, 3]
i.pop()
print(i) #[0, 1, 2]
--------------------
i.pop(0)
print(i) #[1, 2]
3. 리스트처럼 사용
리스트처럼 내용 수정이나 입력, 삭제 가능
- insert(0, 'L') : 첫번째 항목에 'L' 추가
- remove('L') : 'L'항목 삭제
- dq[2] = 'L' : 2번째 값을 'L'로 수정
4. 리스트처럼 사용
좌우로 반전을 시키고 싶을 때에는 reverse() 사용
5. 회전
rotate()함수를 사용하면 회전이 가능함.
함수 안에 음수를 넣으면 왼쪽 회전, 양수는 오른쪽 회전.
rotate(양수)
: 맨 뒤에 있는 값이 앞으로 이동
import sys, collections
input = sys.stdin.readline
test = collections.deque([1, 2, 3, 4])
test.rotate(1)
print(test)
//결과값
deque([4, 1, 2, 3])
rotate(음수)
: 맨 앞에 있는 값이 뒤로 이동
import sys, collections
input = sys.stdin.readline
test = collections.deque([1, 2, 3, 4])
test.rotate(-1)
print(test)
//결과값
deque([2, 3, 4, 1])
'개념정복💫 > 파이썬 PYTHON 정복' 카테고리의 다른 글
[PYTHON] 람다(lambda) 형식이란? (0) | 2024.01.11 |
---|---|
[PYTHON] reverse()와 reversed() 차이 (2) | 2024.01.09 |
[PYTHON] 출력문 옵션 (2) | 2024.01.08 |
[PYTHON] 문자열 공백 정렬과 포맷 (0) | 2024.01.08 |
[PYTHON] 문자열 포맷팅(string formatting) (4) | 2024.01.08 |