TIL - 프로그래밍/개념, 설정
[Python] deque
chaemj97
2022. 5. 3. 23:39
728x90
- deque
- 양쪽 끝에서 빠르게 추가와 삭제를 할 수 있는 리스튜류 컨테이너
- 양방향 큐
- 데이터의 회전도 가능!!!!
- maxlen을 설정하여 최대 항목 수를 설정
from collections import deque
a = [10,20,30,40,50]
d = deque(a)
print(d)
# deque([10, 20, 30, 40, 50])
d.append(100)
print(d)
# deque([10, 20, 30, 40, 50, 100]) # 뒤에 추가
d.appendleft(1000)
print(d)
# deque([1000, 10, 20, 30, 40, 50, 100]) # 앞에 추가
temp1 = d.pop()
print(temp1)
print(d)
# 100
# deque([1000, 10, 20, 30, 40, 50]) # 뒤에 삭제
temp2 = d.popleft()
print(temp2)
print(d)
# 1000
# deque([10, 20, 30, 40, 50]) # 앞에 삭제
d.rotate(2)
print(d)
# deque([40, 50, 10, 20, 30]) # 2칸씩 뒤로
d.rotate(-1)
print(d)
# deque([50, 10, 20, 30, 40]) # 음수도 가능
- que의 단점
- 비효율적이다
- 리스트의 맨 앞에서 항목을 삭제하면 그 항목 이후의 모든 항목을 한 칸씩 앞으로 이동
- 비효율적이다
728x90
반응형