Python基于列表模擬堆棧和隊(duì)列功能示例
本文實(shí)例講述了Python基于列表模擬堆棧和隊(duì)列功能。分享給大家供大家參考,具體如下:
之前的文章http://www.dbjr.com.cn/article/59897.htm介紹了堆棧與隊(duì)列的Python實(shí)現(xiàn)方法,這里使用列表來模擬一下堆棧與隊(duì)列的簡單操作。
一、隊(duì)列特點(diǎn):先進(jìn)先出、后進(jìn)后出
用列表insert、pop模擬進(jìn)隊(duì)出隊(duì):
>>> l = [] >>> l.insert(0,'p1') >>> l.insert(0,'p2') >>> l.insert(0,'p3') >>> l ['p3', 'p2', 'p1'] >>> l.pop() 'p1' >>> l.pop() 'p2' >>> l.pop() 'p3'
用列表append、pop模擬進(jìn)隊(duì)出隊(duì):
>>> l = [] >>> l.append('p1') >>> l.append('p2') >>> l.append('p3') >>> l ['p1', 'p2', 'p3'] >>> l.pop(0) 'p1' >>> l.pop(0) 'p2' >>> l.pop(0) 'p3'
二、堆棧特點(diǎn):先進(jìn)后出、后進(jìn)先出
用列表insert、pop方法模擬進(jìn)棧出棧:
>>> l = [] >>> l.insert(0,'a1') >>> l.insert(0,'a2') >>> l.insert(0,'a3') >>> l ['a3', 'a2', 'a1'] >>> l.pop(0) 'a3' >>> l.pop(0) 'a2' >>> l.pop(0) 'a1'
用列表append、pop方法模式進(jìn)棧出棧:
>>> l = [] >>> l.append('a1') >>> l.append('a2') >>> l.append('a3') >>> l ['a1', 'a2', 'a3'] >>> l.pop() 'a3' >>> l.pop() 'a2' >>> l.pop() 'a1'
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python中TypeError: int object is not 
在Python中,當(dāng)你嘗試對一個(gè)非迭代對象(如整數(shù)、浮點(diǎn)數(shù)等)使用迭代操作(如for循環(huán)、列表推導(dǎo)式中的迭代等)時(shí),會觸發(fā)TypeError: 'int' object is not iterable錯(cuò)誤,所以本文給大家介紹了Python中TypeError: int object is not iterable錯(cuò)誤分析及解決辦法2024-08-08使用Python實(shí)現(xiàn)繪制發(fā)散條形圖
發(fā)散條形圖用于簡化多個(gè)組的比較,它許我們比較各組中的數(shù)值,還幫助我們快速地想象出有利的和不利的或積極的和消極的反應(yīng),下面我們就來看看如何使用Python繪制發(fā)散條形圖吧2024-04-04PyCharm 2021.2 (Professional)調(diào)試遠(yuǎn)程服務(wù)器程序的操作技巧
本文給大家分享用 PyCharm 2021 調(diào)試遠(yuǎn)程服務(wù)器程序的過程,通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08pytest使用@pytest.mark.parametrize()實(shí)現(xiàn)參數(shù)化的示例代碼
這篇文章主要介紹了pytest使用@pytest.mark.parametrize()實(shí)現(xiàn)參數(shù)化,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Python機(jī)器學(xué)習(xí)庫Scikit-learn實(shí)戰(zhàn)教程
文章介紹了Python在機(jī)器學(xué)習(xí)領(lǐng)域的應(yīng)用,重點(diǎn)介紹了Scikit-learn庫的使用方法,并通過實(shí)際案例展示了如何使用Scikit-learn進(jìn)行分類、回歸、聚類和文本挖掘等任務(wù),同時(shí),文章還討論了特征工程、超參數(shù)調(diào)整、避免過擬合和交叉驗(yàn)證等進(jìn)階技巧2025-01-01