摘要:定義了一個非常類似的模塊,其函數(shù)接受兩個參數(shù),第一個參數(shù)是預(yù)先定義好的類型,第二個參數(shù),一般為一個序列。很少見到代碼輸出是中實現(xiàn)堆排序的模塊。這里主要看一下優(yōu)先級隊列定義優(yōu)先級比較輸出
array
array 定義了一個非常類似list的模塊,其array 函數(shù)接受兩個參數(shù),第一個參數(shù)是預(yù)先定義好的類型,第二個參數(shù),一般為一個序列。 很少見到
代碼:
import array a = array.array("b",b"abcd") print(a) print(a[0])
輸出:
array("b", [97, 98, 99, 100]) 97heapq
heapq 是python中實現(xiàn)堆排序的模塊。
from heapq import * import random # 創(chuàng)建一個堆排序 data = [] for i in range(10): heappush(data,random.randint(1,20)) print(data) # 使用 heappop 移除最小的元素 small_num = heappop(data) print(small_num) print("pop移除最小元素后: ",data) # 使用heapreplace替換最小元素,會先執(zhí)行pop,然后replace n = heapreplace(data,100) print(n) print("執(zhí)行replace后:",data) # n個最大 / n個最小 lagest = nlargest(3,data) small = nsmallest(3,data) print("3個最大的值:",lagest) print("3個最小的值:",small)
輸出
[2, 3, 8, 7, 4, 18, 12, 17, 16, 13] 2 pop移除最小元素后: [3, 4, 8, 7, 13, 18, 12, 17, 16] 3 執(zhí)行replace后: [4, 7, 8, 16, 13, 18, 12, 17, 100] 3個最大的值: [100, 18, 17] 3個最小的值: [4, 7, 8]queue
隊列,在線程一節(jié)有總結(jié)過,有先進先出隊列,也有優(yōu)先級隊列,隊列結(jié)合線程,可以保證線程之間通信的安全。這里主要看一下優(yōu)先級隊列
from queue import PriorityQueue import threading import functools Q = PriorityQueue() @functools.total_ordering class Job: def __init__(self,priority,desc): self.priority = priority self.desc = desc return # 定義優(yōu)先級比較 def __eq__(self,other): try: self.priority == other.priority except AttributeError as e: return NotImplemented def __lt__(self,other): try: self.priority < other.priority except AssertionError: return NotImplemented def worker(): while not Q.empty(): item = Q.get() import time time.sleep(1) print(item.desc) Q.all_tasks_done if __name__ == "__main__": Q.put(Job(3,"mid job")) Q.put(Job(10,"important job")) Q.put(Job(1,"low job")) ts = [threading.Thread(target=worker),threading.Thread(target=worker)] for t in ts: t.start() t.join()
輸出
important job mid job low job
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/42993.html
摘要:來源于阿賢博客模塊化今天給大家寫一篇關(guān)于前端模塊化開發(fā)知識點。前端模塊化開發(fā)那點歷史模塊化是指在解決某個復(fù)雜混雜問題時,依照一種分類的思維把問題進行系統(tǒng)性的分解以之處理。 來源于:阿賢博客 javascript模塊化 今天給大家寫一篇關(guān)于前端模塊化開發(fā)知識點。 前端模塊化開發(fā)那點歷史 模塊化: 是指在解決某個復(fù)雜、混雜問題時,依照一種分類的思維把問題進行系統(tǒng)性的分解以之處理。模塊...
摘要:模塊更新時部分不需被替換的模塊,檢測到或參數(shù)變化增加移除或修改參數(shù)時觸發(fā),如所有頁面的部分總是不變,此時它將不會被替換。模塊函數(shù)將在模板指令與狀態(tài)數(shù)據(jù)中講解繼續(xù)學(xué)習(xí)下一節(jié)教程模板指令與狀態(tài)數(shù)據(jù)也可回顧上一節(jié)教程啟動路由 正如它的名字,模塊用于amaplejs單頁應(yīng)用的頁面分割,所有的跳轉(zhuǎn)更新和代碼編寫都是以模塊為單位的。 定義一個模塊 一個模塊由標簽對包含,內(nèi)部分為template模板...
摘要:模塊更新時部分不需被替換的模塊,檢測到或參數(shù)變化增加移除或修改參數(shù)時觸發(fā),如所有頁面的部分總是不變,此時它將不會被替換。模塊函數(shù)將在模板指令與狀態(tài)數(shù)據(jù)中講解繼續(xù)學(xué)習(xí)下一節(jié)教程模板指令與狀態(tài)數(shù)據(jù)也可回顧上一節(jié)教程啟動路由 正如它的名字,模塊用于amaplejs單頁應(yīng)用的頁面分割,所有的跳轉(zhuǎn)更新和代碼編寫都是以模塊為單位的。 定義一個模塊 一個模塊由標簽對包含,內(nèi)部分為template模板...
摘要:模塊更新時部分不需被替換的模塊,檢測到或參數(shù)變化增加移除或修改參數(shù)時觸發(fā),如所有頁面的部分總是不變,此時它將不會被替換。模塊函數(shù)將在模板指令與狀態(tài)數(shù)據(jù)中講解繼續(xù)學(xué)習(xí)下一節(jié)教程模板指令與狀態(tài)數(shù)據(jù)也可回顧上一節(jié)教程啟動路由 正如它的名字,模塊用于amaplejs單頁應(yīng)用的頁面分割,所有的跳轉(zhuǎn)更新和代碼編寫都是以模塊為單位的。 定義一個模塊 一個模塊由標簽對包含,內(nèi)部分為template模板...
閱讀 2060·2021-11-23 09:51
閱讀 3353·2021-09-28 09:36
閱讀 1120·2021-09-08 09:35
閱讀 1758·2021-07-23 10:23
閱讀 3258·2019-08-30 15:54
閱讀 2998·2019-08-29 17:05
閱讀 438·2019-08-29 13:23
閱讀 1294·2019-08-28 17:51