Python의 컬렉션 모듈: deque
Deque, Double Ended Queue의 줄임말
양쪽 끝에 빠른 추가 및 팝이 있는 목록과 같은 컨테이너입니다.
데크는 스택과 큐의 일반화입니다.
Deques는 양쪽 방향에서 거의 동일한 O(1) 성능으로
deque의 양쪽에서 스레드 안전하고 메모리 효율적인 추가 및 팝을 지원합니다.데크 가져오기
from collections import deque
deque 컨테이너 생성
""" deques can be created from any iterable
using : "deque(iterable)" syntax
"""
d1 = deque([1, 2, 3, 3, 4, 5])  # from list
d2 = deque(("Kathan", 19, 'idc'))  # from tuple
d3 = deque("Followme")  # from string
# dictionary is an iterable of keys btw,
d4 = deque({"name": "R", "age": 1})  # from dict
print(d1, d2, d3, d4, sep='\n')
"""OUTPUT
deque([1, 2, 3, 3, 4, 5])
deque(['Kathan', 19, 'idc'])
deque(['F', 'o', 'l', 'l', 'o', 'w', 'm', 'e'])
deque(['name', 'age'])
"""
maxlen 인수
deque의 크기를 결정하는 선택적 인수
maxlen를 전달할 수도 있습니다.deque(iterable, maxlen)📑If
maxlenis not specified or is None, deques may grow to an arbitrary length.
그렇지 않으면 deque는 지정된 최대 길이로 제한됩니다. 제한된 길이의 deque가 가득 차면 새 항목이 추가될 때 반대쪽 끝에서 해당 수의 항목이 삭제됩니다.
인스턴스화 후 deque를 업데이트하는 방법을 안다면 이 작업이 더 이해가 될 것입니다. 지금부터 이러한 방법에 대해 논의해 보겠습니다.
추가, appendleft , pop , popleft 방법
my_deque = deque([1, 2, 3, 4, 5])
# append(y) => appends y to right side
my_deque.append(6)
print("After my_deque.append(6) =>", my_deque)
# appendleft(y) => appends y to left side
my_deque.appendleft(0)
print("After my_deque.appendleft(0) =>", my_deque)
# pop() => Remove and return an element from the right side
my_deque.pop()
print("After my_deque.pop()=>", my_deque)
# popleft() =>Remove and return an element from the left side
my_deque.popleft()
print("After my_deque.popleft()=>", my_deque)
"""OUTPUT
After my_deque.append(6) => deque([1, 2, 3, 4, 5, 6])
After my_deque.appendleft(0) => deque([0, 1, 2, 3, 4, 5, 6])
After my_deque.pop()=> deque([0, 1, 2, 3, 4, 5])
After my_deque.popleft()=> deque([1, 2, 3, 4, 5])
"""
📑 The important part here is that both append methods don't return anything, they perform inplace modifications!
extend , extendleft 메서드
my_deque = deque([1, 2, 3])
"""extend(iterable)
Extend the right side of the deque by 
appending elements from the iterable argument
"""
my_deque.extend([4, 5, 6])
print("After extend:", my_deque)
"""extendleft(iterable)
Extend the left side of the deque by appending 
elements from iterable.
"""
my_deque.extendleft([0, -1, -2])
print("After extendleft:",my_deque)
"""OUTPUT
After extend: deque([1, 2, 3, 4, 5, 6])
After extendleft: deque([-2, -1, 0, 1, 2, 3, 4, 5, 6])
"""
📑 If you notice in the
extendleft(iterable)method, the elements are inserted in reversed order i.e. the last element of input iterable is the first in our updateddeque. This is because we perform series of left appends by taking elements from start to end (from our iterable).
더 많은 방법

🔮
dequeis a very powerful container, and it has loads of functionalities! I have discussed most of them here but feel free to check out the documentation for some extra goodies.
이것으로 컬렉션 모듈에 대한 논의를 마쳤습니다. 광범위한 보도를 즐기셨기를 바랍니다 :) 다른 모험을 위해 저와 다시 함께 하시길 바랍니다!
그때까지 프로그래밍을 즐기세요 🥳
참조
https://docs.python.org/3/library/collections.html#module-collections
Reference
이 문제에 관하여(Python의 컬렉션 모듈: deque), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kathanvakharia/python-s-collections-module-deque-5b7g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)