026 Python語法之棧與堆

2021-09-28 21:47:48 字數 993 閱讀 1129

一種結構體

資料先進後出

用列表模擬棧

mystack =     # 列表

while len(mystack) != 0:

value = mystack.pop()

print(value)

用棧深度遍歷乙個路徑下的檔案盒資料夾
import colections

myqueue = colections.deque()

import queue

q1 = queue.queue(maxsize=0) # maxsize=0預設不限制元素個數

q1.qsize() # 計算佇列中資料的數量

q1.empty() # 判斷佇列是否為空

q1.full() # 判斷佇列是否已滿

q1.get() # 阻塞取出資料,如果沒有資料會等待

q1.get_nowait() # 非阻塞取出資料,如果沒有資料會報錯

q1.put("123") # 阻塞往佇列中新增資料,如果資料滿了會等待

q1.put_nowait("12") # 非阻塞新增資料,如果資料滿了會報錯

q1.join()

q1.task_done()

介紹

引數中block是阻塞的意思

引數中timeout是等待超時的意思

import queue

q1 = queue.priorityqueue(maxsize=0) # maxsize=0預設不限制元素個數

q1.put((1,"fdsg"))

q1.put((3,"fdsfg"))

q1.put((2,"ffdsg"))

介紹

priorityqueue佇列預設按照第乙個元素排序

注意必須同一型別

Python資料結構之「棧」與「佇列」

棧 stacks 定義 是一種只能通過訪問其一端來實現的資料儲存於檢索的線性資料結構,具有後進先出 last in first out,lifo 的特徵 主要操作 1.stack 建立乙個空物件 2.push 把乙個元素新增到棧的最頂層 3.pop 刪除棧最頂層的元素,並返回這個元素 4.peek ...

Python基礎語法之繼承 多型 屬性與方法

繼承是物件導向的三大特性之一 通過繼承我們可以使乙個類獲取到其他類中屬性和方法 在定義類時,可以在類名後面的括號中指定當前類的父類 超類 基類 繼承提高了類的復用性,讓類與類之間產生了關係,有了這個關係,才有了多型的特性。隱患 建立乙個新模擬較麻煩,需要大量的複製貼上 維護修改起來比較麻煩,因此引入...

Python自動化之迴圈與判斷語法

1 for迴圈 1 實現迴圈列印操作 段 跳出迴圈 break 跳出整個迴圈語句 continue 跳出此輪迴圈語句 先迴圈i的值,再迴圈j的值,當j 5時就會列印i和所以j的值,當j 5時,就會跳出第二個for迴圈 注意 事實上行首的空白是重要的。它稱為縮排。在邏輯行首的空白 空格和製表符 用來決...