본문 바로가기
프로그래밍 언어/Python

[python] deque 활용법

by nahkim 2023. 4. 25.

기본 사용법

from collections import deque

deque1 = deque('Hello')
print(deque1)
# deque(['H', 'e', 'l', 'l', 'o'])

스택(stack)

append(), pop()

deque1.append('!')

print(deque1)
# deque(['H', 'e', 'l', 'l', 'o', '!'])

deque1.pop()	# !
print(deque1)
# deque(['H', 'e', 'l', 'l', 'o'])

큐(que)

append(), appendleft(), pop(), popleft()

deque1.appendleft('!')

print(deque1)
# deque(['!', 'H', 'e', 'l', 'l', 'o'])

deque1.popleft()	# !
print(deque1)
# deque(['H', 'e', 'l', 'l', 'o'])

리스트(list)

insert(), remove()

print(deque1[1])	# e

deque1[1] = 'a'
print(deque1)
# deque(['H', 'a', 'l', 'l', 'o'])

deque1.insert(5, 'My')
print(deque1)
# deque(['H', 'a', 'l', 'l', 'o', 'My'])

deque1.remove('My')
print(deque1)
# deque(['H', 'a', 'l', 'l', 'o'])

# 중복일 경우 맨 처음에 나온 것 삭제
deque1.remove('l')
print(deque1)
# deque(['H', 'a', 'l', 'o'])

확장

extend(), extendleft()

deque1.expend('test')
print(deque1)
# deque(['H', 'a', 'l', 'o', 't', 'e', 's', 't'])

deque1.extendleft('Hi')
print(deque1)
# deque(['i', 'H', 'H', 'a', 'l', 'o', 't', 'e', 's', 't'])

거꾸로

reverse()

deque2 = deque("abcde")

deque2.reverse()
print(deque2)
# deque(['e', 'd', 'c', 'b', 'a'])