참고해서 작성했습니다.
Deque 함수들
함수 | 실행시간 | 설명 |
append(x) | O(1) | 데크의 오른쪽에 x를 추가합니다. |
appendleft(x) | O(1) | 데크의 왼쪽에 x를 추가합니다. |
clear() | O(1) | 데크에서 모든 요소를 제거하고 길이가 0인 상태로 만듭니다. |
copy() | O(N) | 데크의 얕은 복사본을 만듭니다. |
count(x) | O(N) | x 와 같은 데크 요소의 수를 셉니다. |
extend(iterable) | O(K) | iterable 인자에서 온 요소를 추가하여 데크의 오른쪽을 확장합니다. |
extendleft(iterable) | O(K) | iterable에서 온 요소를 추가하여 데크의 왼쪽을 확장합니다. 일련의 왼쪽 추가는 iterable 인자에 있는 요소의 순서를 뒤집는 결과를 줍니다. |
index(x[, start[, stop]]) | O(N) | 데크에 있는 x의 위치를 반환합니다 (인덱스 start 또는 그 이후, 그리고 인덱스 stop 이전). 첫 번째 일치를 반환하거나 찾을 수 없으면 ValueError를 발생시킵니다. |
insert(i, x) | O(N) | x를 데크의 i 위치에 삽입합니다. 삽입으로 인해 제한된 길이의 데크가 maxlen 이상으로 커지면, IndexError가 발생합니다. |
pop() | O(1) | 데크의 오른쪽에서 요소를 제거하고 반환합니다. 요소가 없으면, IndexError를 발생시킵니다. |
popleft() | O(1) | 데크의 왼쪽에서 요소를 제거하고 반환합니다. 요소가 없으면, IndexError를 발생시킵니다. |
remove(value) | O(N) | value의 첫 번째 항목을 제거합니다. 찾을 수 없으면, ValueError를 발생시킵니다. |
reverse() | O(N) | 데크의 요소들을 제자리에서 순서를 뒤집고 None을 반환합니다. |
rotate(n=1) | O(K) | 데크를 n 단계 오른쪽으로 회전합니다. n이 음수이면, 왼쪽으로 회전합니다. 데크가 비어 있지 않으면, 오른쪽으로 한 단계 회전하는 것은 d.appendleft(d.pop())과 동등하고, 왼쪽으로 한 단계 회전하는 것은 d.append(d.popleft())와 동등합니다. |
maxlen | 데크의 최대 크기 또는 제한이 없으면 None. |
Deque 생성
from collections import deque
#deque 선언
queue = deque(['this', 'is', 'deque'])
print(queue)
실행결과:
deque(['this', 'is', 'deque'])
Deque 활용
from collections import deque
d = deque([1,2,3,4,7,2])
d.append(5)
print(d)
print("인덱스 0~4 사이에 4 찾기")
print(d.index(4, 0, 5))
print("2의 원소 개수는?")
print(d.count(2))
print("rotate(회전) 한 후")
# 뒤에 있는 숫자가 앞으로 온다
d.rotate(3)
print(d)
print("deque 뒤집기")
print(deque(reversed(d)))
실행결과:
deque([1, 2, 3, 4, 7, 2, 5])
인덱스 0~4 사이에 4 찾기
3
2의 원소 개수는?
2
rotate(회전) 한 후
deque([7, 2, 5, 1, 2, 3, 4])
deque 뒤집기
deque([4, 3, 2, 1, 5, 2, 7])
'새로 알게 된 점' 카테고리의 다른 글
python round 함수 (0) | 2024.06.27 |
---|---|
sys.stdin.readline() 관련 알게 된 점 (0) | 2024.06.25 |