반응형
[Python] deque 사용법
deque
는 스택과 큐의 기능을 모두 가진 놈이다.
deque 생성 예제
>>> from collections import deque # 문자열로 큐 만들기 >>> q = deque('milhouse') >>> q deque(['m','i','l','h','o','u','s','e']) # 빈 큐 만들기 >>> q1 = deque() # 원소가 있는 큐 만들기 >>> q2 = deque([1,2,3]) # 큐 최대 길이 명시하여 큐 만들기 >>> q3 = deque(maxlen = 5) >>> q4 = deque([1,2,3], maxlen = 2) >>> q4 deque([2,3], maxlen=2) # 뒤에 원소를 넣을 경우 앞에서 원소를 빼고 뒤에 새로운 원소를 채워 넣음 (maxlen = 2이기 때문에) >>> q4 deque([2,3], maxlen=2) >>> q4.append(4) >>> q4 deque([3,4], maxlen=2) # 앞에 원소를 넣을 경우 뒤에서 원소를 빼고 앞에 새로운 원소를 앞에 채워 넣음 (maxlen = 2이기 때문에) >>> q4 deque([3,4], maxlen=2) >>> q4.appendleft(1) >>> q4 deque([1,3], maxlen=2)
deque 함수별 동작 예제
>>> q = deque('true') # append >>> q.append('ben') >>> q deque(['t','r','u','e','kim']) # extend >>> q.extend('jyk') >>> q deque(['t','r','u','e','kim','j','y','k']) # pop >>> q.pop() 'k' >>> q deque(['t','r','u','e','kim','j','y']) # appendleft >>> q.appendleft('x') >>> q deque(['x','t','r','u','e','kim','j','y']) # popleft >>> q.popleft() 'x' >>> q deque(['t','r','u','e','kim','j','y']) # extendleft >>> q.extendleft('xyz') >>> q deque(['z','y','x','t','r','u','e','kim','j','y']) # insert >>> q deque(['z','y','x','t','r','u','e','kim','j','y']) >>> q.insert(0, 'u') >>> q deque(['u','z','y','x','t','r','u','e','kim','j','y']) # remove >>> q.remove('y') >>> q deque(['u','z','x','t','r','u','e','kim','j','y']) # 동일한 항목이 있을 경우 왼쪽부터 삭제됨 >>> q.remove('y') >>> q deque(['u','z','x','t','r','u','e','kim','j']) # reverse >>> q.reverse() >>> q deque(['y', 'j', 'ben', 'e', 'u', 'r', 't', 'x', 'z', 'u']) # clear >>> q.clear() >>> q deque([])
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] permutations & combinations (순열과 조합) (0) | 2021.02.02 |
---|---|
[Python] 문자열로 된 수식을 계산하는 eval 함수 (0) | 2021.02.01 |
[Python] 2차원 리스트 90도 회전 (0) | 2021.01.31 |
[Python] sorted() 다중조건으로 정렬하는 방법 (0) | 2021.01.13 |
[Python] 폴더를 파이썬 모듈로 만들기 (0) | 2018.12.31 |