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

Deque bằng Python

Deque về cơ bản là một tổng quát của cấu trúc ngăn xếp và hàng đợi, nơi nó được khởi tạo từ trái sang phải. Nó sử dụng đối tượng danh sách để tạo một deque.

Dequeis một lớp thư viện tiêu chuẩn, nằm trong bộ sưu tập mô-đun.

Để sử dụng nó, trước tiên chúng ta cần nhập nó vào mô-đun thư viện chuẩn của bộ sưu tập.

 nhập bộ sưu tập 

Trong phần này, chúng ta sẽ thấy một số hàm của lớp Deque

Các chức năng bổ sung trên Deque

Có hai loại phần phụ khác nhau. Phương thức append () được sử dụng để thêm các phần tử ở cuối bên phải của hàng đợi và phương thức appendleft () được sử dụng để thêm phần tử ở bên trái hàng đợi.

Mã mẫu

 nhập các bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('124dfre') print ('Dequeue:' + str (my_deque)) #insert x ở bên phải và B ở bên trái my_deque.append ( 'x') my_deque.appendleft ('B') print ('Dequeue sau khi them:' + str (my_deque)) 

Đầu ra

 Dequeue:deque (['1', '2', '4', 'd', 'f', 'r', 'e']) Dequeue sau khi thêm:deque (['B', '1 ',' 2 ',' 4 ',' d ',' f ',' r ',' e ',' x ']) 

Các chức năng Popping trên Deque

Giống như thêm vào, có hai loại chức năng pop khác nhau. Phương thức pop () được sử dụng để xóa và trả về phần tử bên phải nhất khỏi hàng đợi và phương thức popleft () được sử dụng để xóa và trả về phần tử bên trái nhất khỏi hàng đợi.

Mã mẫu

 nhập các bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('124dfre') print ('Dequeue:' + str (my_deque)) #delete item from right and left item =my_deque.pop ( ) print ('Mục Popped:' + str (item)) item =my_deque.popleft () print ('Popped Item:' + str (item)) print ('Dequeue sau các thao tác pop:' + str (my_deque)) 

Đầu ra

 Dequeue:deque (['1', '2', '4', 'd', 'f', 'r', 'e']) Mục popped:ePopped Item:1Dequeue sau các phép toán pop:deque ( ['2', '4', 'd', 'f', 'r']) 

Các chức năng liên quan đến mục trong Deque

Một số chức năng trong Deque được sử dụng để lấy thông tin liên quan đến các mặt hàng. Có một số hàm như index (), count (), vv Phương thức index được sử dụng để lấy chỉ mục của lần xuất hiện đầu tiên một phần tử. Khi không có đối số nào được truyền với phần tử, nó sẽ chọn toàn bộ danh sách, khi một giới hạn nhất định được chỉ định, nó sẽ kiểm tra chỉ mục trong giới hạn đó. Mặt khác, phương thức count () đếm tần suất của một mục trong Deque.

Mã mẫu

 nhập các bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('AABCDDEFD') print ('Dequeue:' + str (my_deque)) # tìm chỉ mục của D print ('Chỉ mục của D:'+ str (my_deque.index (' D '))) print (' Chỉ số của D trong phạm vi từ 5 đến 8 là:'+ str (my_deque.index (' D ', 5, 8))) # Đếm số xuất hiện print ('Số lần xuất hiện của A:' + str (my_deque.count ('A'))) print ('Số lần xuất hiện của D:' + str (my_deque.count ('D'))) 

Đầu ra

 Dequeue:deque (['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Chỉ mục của D:4Index của D trong phạm vi 5 đến 8 là:5 

Các hàm insert () và remove () trong Deque

Chúng ta đã thấy các hàm append và pop trong Deque để chèn và xóa các phần tử tương ứng. Có hai phương pháp khác liên quan đến chèn và xóa. Phương thức insert () được sử dụng để chèn một số. Trong trường hợp này, chúng tôi có thể cung cấp chỉ mục để chèn. Vì vậy, trên một vị trí xác định, mục có thể được chèn vào. Và phương thức remove () được sử dụng để loại bỏ sự xuất hiện đầu tiên của một phần tử.

Mã mẫu

 nhập các bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('AABCDDEFD') print ('Dequeue:' + str (my_deque)) # Chèn chữ G và H vào vị trí 5, 7 tương ứngmy_deque .insert (5, 'G') my_deque.insert (7, 'H') print ('Dequeue sau khi chèn:' + str (my_deque)) # Xóa lần xuất hiện đầu tiên của chữ cái Dmy_deque.remove ('D') print (' Dequeue sau khi loại bỏ:'+ str (my_deque)) 

Đầu ra

 Dequeue:deque (['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Dequeue sau khi chèn:deque (['A', 'A', 'B', 'C', 'D', 'G', 'D', 'H', 'E', 'F', 'D']) Dequeue sau khi loại bỏ :deque (['A', 'A', 'B', 'C', 'G', 'D', 'H', 'E', 'F', 'D']) 

Mở rộng các chức năng trong Deque

Các hàm mở rộng được sử dụng để thêm nhiều phần tử vào Deque. Chúng ta có thể sử dụng các bộ sưu tập như danh sách, bộ giá trị để cung cấp nhiều giá trị. Có hai loại chức năng mở rộng. Phương thức expand () dùng để thêm các phần tử vào bên phải, nó tương tự như hàm append () lặp đi lặp lại. Và phương thức expandleft () được sử dụng để thêm các phần tử vào bên trái, nó tương tự như hàm appendleft () lặp đi lặp lại.

Mã mẫu

 nhập các bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('AABCDDEFD') print ('Dequeue:' + str (my_deque)) # Mở rộng bằng cách thêm 1, 3, 5, 7 vào right và x, y, z sang leftmy_deque.extend ([1, 3, 5, 7]) my_deque.extendleft (['x', 'y', 'z']) print ('Dequeue after Extending:' + str (my_deque)) 

Đầu ra

 Dequeue:deque (['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Dequeue sau khi kéo dài:deque (['z', 'y', 'x', 'A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D', 1, 3, 5, 7]) 

Chức năng đảo ngược và xoay trong Deque

Chúng ta có thể đảo ngược trình tự của dequeuer bằng cách sử dụng phương thức reverse (). Có một phương thức khác được gọi là xoay (). Sử dụng phương pháp xoay, deque có thể được xoay với số được chỉ định làm đối số. Nếu đối số là số dương, đối số sẽ xoay sang phải và đối với số âm, đối số sẽ được xoay sang trái.

Mã mẫu

 nhập bộ sưu tập dưới dạng col # Chèn một số phần tử vào hàng đợi tại firstmy_deque =col.deque ('AABCDDEFD') print ('Dequeue:' + str (my_deque)) my_deque.reverse () print ('Deque sau khi Reversing:' + str (my_deque)) # xoay sang phải, 3 elementmy_deque.rotate (3) print ('Deque sau khi xoay:' + str (my_deque)) 

Đầu ra

 Dequeue:deque (['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Deque sau khi Reversing:deque (['D', 'F', 'E', 'D', 'D', 'C', 'B', 'A', 'A']) Deque sau khi xoay:deque (['B', 'A', 'A', 'D', 'F', 'E', 'D', 'D', 'C'])