Computer >> Máy Tính >  >> Lập trình >> Python

Python - Deque

Trong Python deque là một cấu trúc dữ liệu giống như ngăn xếp và hàng đợi. Nó cho phép các hoạt động nối và bật từ cả hai đầu của hàng đợi. Và điều đó làm cho nó khác với phần còn lại của cấu trúc dữ liệu. Có nhiều hoạt động khác nhau được liệt kê dưới đây có thể áp dụng cho deque. Trong bài viết này, chúng ta sẽ xem các ví dụ về từng thao tác đó. Bộ sưu tập mô-đun được sử dụng để triển khai deque.

Hoạt động Deque

Dưới đây là một số thao tác hữu ích được thực hiện bằng deque

  • append () - Hàm này được sử dụng để chèn giá trị trong đối số của nó vào cuối bên phải của deque.

  • appendleft () - Hàm này được sử dụng để chèn giá trị trong đối số của nó vào cuối bên trái của deque.

  • pop () - Hàm này được sử dụng để xóa một đối số ở cuối bên phải của deque.

  • popleft ( ) - Hàm này được sử dụng để xóa một đối số từ phần cuối bên trái của deque.

  • mở rộng (có thể lặp lại) - Hàm này dùng để thêm nhiều giá trị vào cuối bên phải của deque. Đối số được truyền là một đối số có thể lặp lại.

  • mở rộng (có thể lặp lại) - Hàm này dùng để thêm nhiều giá trị vào cuối bên trái của deque. Đối số được truyền là một đối số có thể lặp lại. Thứ tự bị đảo ngược do các lần bổ sung bên trái.

  • đảo ngược () - Hàm này được sử dụng để đảo ngược thứ tự của các phần tử deque.

  • xoay () - Hàm này xoay deque theo số được chỉ định trong các đối số. Nếu số được chỉ định là số âm, thì chuyển động quay sang trái. Xoay khác là sang phải.

Ví dụ

Chương trình dưới đây cho thấy cách các thao tác trên được triển khai bằng deque và mô-đun tập hợp.

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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])