Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - Deque


ใน Python deque เป็นโครงสร้างข้อมูลเช่นสแต็กและคิว อนุญาตให้ดำเนินการผนวกและป๊อปจากปลายทั้งสองของคิว และนั่นทำให้มันแตกต่างจากโครงสร้างข้อมูลที่เหลือ มีการดำเนินการต่าง ๆ ที่ระบุไว้ด้านล่างที่ใช้ได้กับ deque ในบทความนี้ เราจะมาดูตัวอย่างการดำเนินการแต่ละอย่าง คอลเลกชัน ใช้โมดูลเพื่อใช้ deque

ปฏิบัติการดีคิว

ด้านล่างนี้คือการดำเนินการที่มีประโยชน์โดยใช้ deque

  • ต่อท้าย() − ฟังก์ชันนี้ใช้เพื่อแทรกค่าในอาร์กิวเมนต์ที่ด้านขวาสุดของ deque

  • appendleft() − ฟังก์ชันนี้ใช้เพื่อแทรกค่าในอาร์กิวเมนต์ที่ด้านซ้ายสุดของ deque

  • ป๊อป() − ฟังก์ชันนี้ใช้เพื่อลบอาร์กิวเมนต์จากด้านขวาสุดของ deque

  • popleft( ) - ฟังก์ชันนี้ใช้เพื่อลบอาร์กิวเมนต์จากด้านซ้ายสุดของ deque

  • ขยาย (ทำซ้ำได้) − ฟังก์ชันนี้ใช้เพื่อเพิ่มค่าหลายค่าที่ด้านขวาสุดของ deque อาร์กิวเมนต์ที่ส่งผ่านเป็นแบบวนซ้ำได้

  • extendleft(ทำซ้ำได้) − ฟังก์ชันนี้ใช้เพื่อเพิ่มค่าหลายค่าที่ด้านซ้ายสุดของ deque อาร์กิวเมนต์ที่ผ่านไปเป็นแบบวนซ้ำได้ ลำดับถูกกลับรายการเนื่องจากการต่อท้ายด้านซ้าย

  • ย้อนกลับ() − ฟังก์ชันนี้ใช้เพื่อย้อนกลับลำดับขององค์ประกอบ deque

  • หมุน() − ฟังก์ชันนี้จะหมุน deque ตามจำนวนที่ระบุในอาร์กิวเมนต์ หากตัวเลขที่ระบุเป็นค่าลบ การหมุนจะเกิดขึ้นทางซ้าย หมุนอย่างอื่นไปทางขวา

ตัวอย่าง

โปรแกรมด้านล่างแสดงวิธีการดำเนินการข้างต้นโดยใช้ deque และโมดูลคอลเลกชัน

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