เรียน Python Data Structures and Algorithms ฉบับปูพื้นฐาน

Why take this course?
ในส่วนที่ 12: ตะลุยโจทย์ Python Deques,เราจะพิจารณาเกี่ยวกับดึง (Deque) ซึ่งเป็นข้อมูลที่ให้ไปถึงระบุจำนวนขอบของสิ่งที่สามารถเพิ่มหรือลดค่าได้ทักษะใน обоีโน้อ (both ends), ซึ่งรวมถึงการเข้าและการออกจากแทรงาน (FILO) หรือ FIFO. Deque ใช้ในสถานที่ต้องบังคัดข้อมูลทักษะดังกล่าวเช่น จำลองการโหลดแบบ LIFO (Last In, First Out) หรือ ตัวแย้งเครื่องใช้งาน (Synchronization primitives).
Deque ใน Python สามารถสร้างขึ้นโดยใช้กลาส collections.deque
ซึ่งมีอัลกอริทึมที่เป็นที่ดีในการจัดความสำคัญของสภาพแบบ FIFO หรือ LIFO.
ต่อไปนี้คือขั้นตอนพื้นฐายในการทำงานกับ collections.deque
:
-
สร้าง Deque: สร้าง对象
deque
จากกลาสcollections.deque
.from collections import deque d = deque([1, 2, 3])
-
เพิ่มข้อควร (append): เพิ่มสิ่งที่ใช้งาน
append()
หรือappendleft()
เพื่อเพิ่มสิ่งที่ต้นเป็นหรือลงในหัว (tail).d.append(4) # เพิ่มข้อควรที่หลัง d.appendleft(0) # เพิ่มข้อควรที่หัว
-
เตือนจ่าย (pop): จ่ายสิ่งที่ใช้งาน
pop()
หรือpopleft()
เพื่อลดข้อควรที่กำหนด.d.pop() # ลดข้อควรที่หลัง d.popleft() # ลดข้อควรที่หัว
-
การเข้าและออก (push and pop):
append()
และpopleft()
เป็นตัวเลือกทักษะดังกล่าว, แต่คุณยังสามารถใช้ method เพิ่มเต็ Mode ได้เช่นappendleft()
และpopleft()
. -
การอ่านข้อควร (iterate): สามารถอ่านข้อควรจาก deque โดยใช้วิธีตัวแทน
iter()
หรือ methodextend()
.for item in d: print(item) # หรือ lst = list(d)
-
การเปลี่ยนแปลง (clear and extend): สามารถควบคุมสภาพของ deque โดยใช้
clear()
เพื่อลดทั้งหมดข้อควรและextend()
หรือextendleft()
เพื่อเพิ่มข้อควรจาก iterable อื่น.d.clear() # ลบทั้งหมดข้อควร d.extend([5, 6]) # เพิ่มข้อควรจาก list d.extendleft([7, 8]) # เพิ่มข้อควรจาก list และติ๊งเป็นที่หัว
-
การกำหนดส่วนขยาย (set specific size): สามารถกำหนดสภาพขอบของ deque โดยใช้ parameter
maxlen
ได้.d = deque(maxlen=5)
-
การเข้าถึง property (accessing properties): สามารถเข้าถึง property อย่าง
deque.maxlen
และdeque.length
ที่ตั้งให้แสดงจำนวนข้อควรที่ปัจจุบและจำนวนข้อควรที่เก็บไว้ใน deque. -
การเข้าถึงมาตรฐาن (robustness): กลาส
deque
มีคุณภาพในการจัดการบทบาทและการแสดงผลที่เป็นที่ดีกว่า list อยู่เมื่อมีการเปลี่ยนแปลงข้อมูลอย่างรวดเร็วหรือมีการเข้าถึงขณะทำงาน (concurrency). -
การใช้งานตัวแปร global (using globals): สามารถใช้
collections.deque
เป็นตัวแปร global หลายครั้งได้ในโครงข่าย Python.
การใช้งาน deque จะช่วยให้คุณสามารถจัดการแล็กขอบข้อมูลได้อย่าง효率เพิ่มเติมและปลอดภัยกว่าใน場景ที่ต้องการจัดการข้อมูลที่สับสนุญหรือมีการเข้าถึงหลายครั้ง.
Course Gallery




Loading charts...