📓STUDY/알고리즘
Deque(데크)란 무엇일까 | 파이썬 자료구조 큐(Queue)
두_두
2023. 4. 17. 14:29
deque(데크)란?
from collections import deque
데크는 스택과 큐를 합친 것과 같은, 양방향에서 데이터를 삽입 및 추출할 수 있는 자료형이다.
deque의 메소드
append() | deque의 맨 뒤에 새로운 요소를 추가함 |
appendleft() | deque의 맨 앞에 새로운 요소를 추가함 |
pop() | deque의 맨 뒤 요소를 꺼내고 deque에서 삭제 |
popleft() | deque의 맨 앞 요소를 꺼내고 deque에서 삭제 |
index(ele, start, end) | start 인덱스부터 end 인덱스까지의 요소들 중 찾고자 하는 요소의 첫 번째 인덱스를 출력 |
insert(i, a) | deque의 i 위치에 a를 삽입 |
remove() | 원하는 요소 삭제 (첫번째로 등장하는 요소만 삭제된다!) |
count() | deque 안에 요소가 몇 개 존재하는 지 출력 |
len(dequeue) | deque의 길이 |
extend(iterable) | deque의 맨 뒤에 새로운 요소를 추가함 (append와의 차이점은 밑에서 알아보자) |
extendleft(iterable) | deque의 맨 앞에 새로운 요소를 추가함 (appendleft와의 차이점은 밑에서 알아보자) |
reverse() | deque의 순서를 반대로 바꿔줌 |
rotate(num) | n만큼 deque를 회전시킴 (양수의 경우 오른쪽으로, 음수의 경우 왼쪽으로 !) |
clear() | deque를 비워줌 |
append와 extend의 차이
l = [1, 2, 3, 4]
m = [10, 11]
r = list(m)
m.append(l)
r.extend(l)
print(m)
print(r)
Output:
[10, 11, [1, 2, 3, 4]]
[10, 11, 1, 2, 3, 4]
append는 요소 전체를 추가해주고, extend는 리스트를 자체적으로 flatten해서 추가해주는 것을 볼 수 있다!
728x90