最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python棧的基本定義與使用方法示例【初始化、賦值、入棧、出棧等】

 更新時間:2019年10月24日 09:48:07   作者:鯨落丶  
這篇文章主要介紹了python棧的基本定義與使用方法,結(jié)合實例形式分析了Python棧的初始化、賦值、入棧、出棧等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了python棧的基本定義與使用方法。分享給大家供大家參考,具體如下:

# -*- coding:utf-8 -*-
#! python3
#在桟的設(shè)計中,我們需要定義一個實例屬性top。三個實例方法:獲取棧頂元素peek();出桟pop();入棧push()
#棧的效果:先進后出
class Node(object):  ##節(jié)點,包括兩個屬性,一個是節(jié)點的值,一個是節(jié)點的下一個指向
 def __init__(self,value):
  self.value = value   #賦值給節(jié)點
  self.next = None   #節(jié)點的下一個指向
class stack(object):
 def __init__(self):
  self.top = None    #創(chuàng)建棧,賦予top棧頂屬性,top初始為空
 def peek(self):     #獲取棧頂?shù)脑?,返回對?yīng)的值
  if self.top!= None:   #如果棧頂不為空,也就是說棧里有數(shù)據(jù)
   return self.top.value #那就直接返回棧頂?shù)闹?
  else:
   return None    #如果棧里無數(shù)據(jù),則返回None
 def push(self,node):    #添加元素到棧(參數(shù)包括self和節(jié)點的value,node)
  if node != None:    #如果加入的節(jié)點,不為空
   packNode = Node(node)  #實例化Node類
   packNode.next = self.top #將新增的節(jié)點的指向賦值為棧頂?shù)闹赶?
   self.top = packNode   #將棧頂?shù)墓?jié)點,賦值為新增節(jié)點
   return packNode.value  #返回節(jié)點的值
  else:
   return None    #返回None
 def pop(self):     #出棧
  if self.top == None:  #如果棧是空的
   return None    #返回None
  else:
   tmp = self.top.value  #將棧頂?shù)闹祩鹘otmp
   self.top = self.top.next #將棧頂指向變?yōu)槟壳皸m數(shù)南乱粋€節(jié)點
   return tmp     #返回出棧的節(jié)點的值
s = stack()
a = Node(1)
print(s.push(a).value)
print(s.push(2))
print(s.push(3))
print(s.peek())
print(s.push(4))
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop().value)

運行結(jié)果:

1
2
3
3
4
4
3
2
1

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解Python 實現(xiàn) ZeroMQ 的三種基本工作模式

    詳解Python 實現(xiàn) ZeroMQ 的三種基本工作模式

    ZMQ是一個簡單好用的傳輸層,像框架一樣的一個 socket library,他使得 Socket 編程更加簡單、簡潔和性能更高。 ,這篇文章主要介紹了Python 實現(xiàn) ZeroMQ 的三種基本工作模式,需要的朋友可以參考下
    2020-03-03
  • OpenCV指紋識別實現(xiàn)代碼實例

    OpenCV指紋識別實現(xiàn)代碼實例

    使用OpenCV進行指紋識別涵蓋特征提取與匹配,通過SIFT和FLANN實現(xiàn)匹配點計算,進而識別指紋ID和姓名,盡管OpenCV具備強大的圖像處理功能,指紋識別依舊面臨挑戰(zhàn),需要的朋友可以參考下
    2024-10-10
  • Python發(fā)送郵件測試報告操作實例詳解

    Python發(fā)送郵件測試報告操作實例詳解

    這篇文章主要介紹了Python發(fā)送郵件測試報告操作,結(jié)合實例形式較為詳細的分析了Python郵件發(fā)送相關(guān)模塊使用及操作注意事項,需要的朋友可以參考下
    2018-12-12
  • 初學(xué)python的操作難點總結(jié)(新手必看篇)

    初學(xué)python的操作難點總結(jié)(新手必看篇)

    下面小編就為大家?guī)硪黄鯇W(xué)python的操作難點總結(jié)(新手必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • python配置grpc環(huán)境

    python配置grpc環(huán)境

    gRPC 是一款高性能、開源的 RPC 框架,產(chǎn)自 Google,基于 ProtoBuf 序列化協(xié)議進行開發(fā),支持多種語言(Golang、Python、Java等),本篇只介紹 Python 的 gRPC 安裝使用
    2019-01-01
  • 深入理解Python中的內(nèi)置常量

    深入理解Python中的內(nèi)置常量

    這篇文章主要跟大家介紹了關(guān)于Python中內(nèi)置常量的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看吧。
    2017-05-05
  • Python使用gRPC實現(xiàn)數(shù)據(jù)分析能力的共享

    Python使用gRPC實現(xiàn)數(shù)據(jù)分析能力的共享

    gRPC是一個高性能、開源、通用的遠程過程調(diào)用(RPC)框架,由Google推出,本文主要介紹了Python如何使用gRPC實現(xiàn)數(shù)據(jù)分析能力的共享,感興趣的可以了解下
    2024-02-02
  • Django自定義分頁與bootstrap分頁結(jié)合

    Django自定義分頁與bootstrap分頁結(jié)合

    這篇文章主要為大家詳細介紹了Django自定義分頁與bootstrap分頁結(jié)合使用的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • AI:如何訓(xùn)練機器學(xué)習(xí)的模型

    AI:如何訓(xùn)練機器學(xué)習(xí)的模型

    這篇文章主要介紹了是如何進行機器學(xué)習(xí)的模型的訓(xùn)練,全文邏輯清晰,簡單易懂,如果您正在學(xué)習(xí)機器學(xué)習(xí)那么可以參考下,說不定會有不一樣的收貨
    2021-04-04
  • Python 支付整合開發(fā)包的實現(xiàn)

    Python 支付整合開發(fā)包的實現(xiàn)

    這篇文章主要介紹了Python 支付整合開發(fā)包的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論

南部县| 徐水县| 临沂市| 林芝县| 乌兰察布市| 左贡县| 江口县| 桐柏县| 孟州市| 黄冈市| 招远市| 信阳市| 获嘉县| 萍乡市| 广德县| 宣城市| 肥乡县| 改则县| 昭觉县| 报价| 新河县| 遵化市| 从江县| 星子县| 外汇| 东辽县| 喀喇沁旗| 宜兴市| 镇雄县| 齐河县| 临西县| 孝昌县| 奉节县| 棋牌| 黄大仙区| 通城县| 仁布县| 元阳县| 城市| 平和县| 丰都县|