Python에서 deque는 스택 및 큐와 같은 데이터 구조입니다. 큐의 양쪽 끝에서 추가 및 팝 작업을 허용합니다. 그리고 그것은 나머지 데이터 구조와 다릅니다. deque에 적용할 수 있는 다양한 작업이 아래에 나열되어 있습니다. 이 기사에서는 이러한 각 작업에 대한 예를 볼 것입니다. 컬렉션 모듈은 deque를 구현하는 데 사용됩니다.
데크 작업
다음은 deque를 사용하여 수행되는 몇 가지 유용한 작업입니다.
-
추가() − 이 함수는 인수의 값을 deque의 오른쪽 끝에 삽입하는 데 사용됩니다.
-
appendleft() − 이 함수는 인수의 값을 deque의 왼쪽 끝에 삽입하는 데 사용됩니다.
-
팝() − 이 함수는 deque의 오른쪽 끝에서 인수를 삭제하는 데 사용됩니다.
-
팝레프트( ) - 이 함수는 deque의 왼쪽 끝에서 인수를 삭제하는 데 사용됩니다.
-
확장(반복 가능) − 이 함수는 deque의 오른쪽 끝에 여러 값을 추가하는 데 사용됩니다. 전달된 인수는 반복 가능합니다.
-
extendleft(반복 가능) − 이 함수는 deque의 왼쪽 끝에 여러 값을 추가하는 데 사용됩니다. 전달된 인수는 반복 가능합니다. 왼쪽 추가의 결과로 순서가 반대입니다.
-
역() − 이 함수는 deque 요소의 순서를 반대로 하는 데 사용됩니다.
-
회전() − 이 함수는 인수에 지정된 수만큼 데크를 회전합니다. 지정된 숫자가 음수이면 왼쪽으로 회전합니다. 그렇지 않으면 오른쪽으로 회전합니다.
예
아래 프로그램은 위의 작업이 deque와 collections 모듈을 사용하여 구현되는 방법을 보여줍니다.
import collections de = collections.deque([10,20,30,40]) print(de) de.append(50) print ("\nAppending at right the deque is : ") print (de) de.appendleft(60) print ("\nAppending at left the deque is : ") print (de) de.pop() print ("\nDeleting from right the deque is: ") print (de) de.popleft() print ("\nDeleting from left the deque is: ") print (de) de.extend([70,80]) print ("\nExtending deque at end is : ") print (de) de.extendleft([100,90]) print ("\nExtending deque at beginning is : ") print (de) de.rotate(-2) print ("\nRotating deque is : ") print (de) de.reverse() print ("\nReversing deque is : ") print (de)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
deque([10, 20, 30, 40]) Appending at right the deque is : deque([10, 20, 30, 40, 50]) Appending at left the deque is : deque([60, 10, 20, 30, 40, 50]) Deleting from right the deque is: deque([60, 10, 20, 30, 40]) Deleting from left the deque is: deque([10, 20, 30, 40]) Extending deque at end is : deque([10, 20, 30, 40, 70, 80]) Extending deque at beginning is : deque([90, 100, 10, 20, 30, 40, 70, 80]) Rotating deque is : deque([10, 20, 30, 40, 70, 80, 90, 100]) Reversing deque is : deque([100, 90, 80, 70, 40, 30, 20, 10])