collection 模組 雙端佇列

2022-02-15 16:12:04 字數 1054 閱讀 2750

單端佇列

用於同一程序中的佇列,可以叫做單程序佇列。

queue

遵循先進先出,先進去的必須先出來

1、先進先出:

impore queue

q = queue.queue()    例項化乙個物件

q.put(1)         put()  放值

q.put('abc')

q.put([1,2,3])

q.get()          get()  取值   誰先進去,就先取誰。

2、後進先出:

import queue

q = queue.lifoqueue()    

q.put(1)

q.put(2)

print(q.get())

print(q.get())

3、優先順序佇列

import queue

q = queue.priorityqueue()

q.put((1,'aa'))    優先順序佇列放的是乙個元組,且第一位如果是數字,數字越小優先順序越高,優先往出取。(包括負數)

q.put((2,'bb'))

q.put(('a','ss'))    優先順序佇列中的元組如果第一位是字串,那麼就比較它的ascii碼的數值,ascii碼越小越好。

q.put('1','xx'))

注意:如果乙個佇列中既放了數字開頭的優先順序元祖,又放了字串開頭的優先順序元組,將無法比較。

雙端佇列

deque

clooection 實際上是乙個包,deque是他裡邊的乙個模組。所以匯入的時候是

雙端佇列  和 列表的 remove / insert 時,效率是有差別的。雙端佇列會很快。因為雙端佇列底層用的是鍊錶。

Python集合模組 collections

是乙個函式,它用來建立乙個自定義的tuple物件,並且規定了tuple元素的個數,並可以用屬性而不是索引來引用tuple的某個元素。namedtuple 名稱 屬性list from collections import namedtuple point namedtuple point x y p...

python內建模組collections介紹

目錄collections是python內建的乙個集合模組,提供了許多有用的集合類。python提供了很多非常好用的基本型別,比如不可變型別tuple,我們可以輕鬆地用它來表示乙個二元向量。v 2,3 我們發現,雖然 2,3 表示出了乙個向量的兩個座標,但是,如果沒有額外說明,又很難直接看出這個元組...

leetcode專題之佇列 設計迴圈雙端佇列

class mycirculardeque object def init self,k 長度為k時占用k 1的空間,多出來的空間用來區分isempty和isfull 首尾兩個指標相等的時候為empty,尾部 1等於首部的時候為full self.q 0 k 1 self.len k 1 self....