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

Python 數(shù)據結構之堆棧實例代碼

 更新時間:2017年01月22日 14:43:20   投稿:lqh  
這篇文章主要介紹了Python 數(shù)據結構之堆棧實例代碼的相關資料,需要的朋友可以參考下

Python 堆棧

堆棧是一個后進先出(LIFO)的數(shù)據結構. 堆棧這個數(shù)據結構可以用于處理大部分具有后進先出的特性的程序流 .
在堆棧中, push 和 pop 是常用術語:

  • push: 意思是把一個對象入棧.
  • pop: 意思是把一個對象出棧.

下面是一個由 Python 實現(xiàn)的簡單的堆棧結構:

stack = []         # 初始化一個列表數(shù)據類型對象, 作為一個棧

def pushit():       # 定義一個入棧方法
  stack.append(raw_input('Enter New String: ').strip())   
  # 提示輸入一個入棧的 String 對象, 調用 Str.strip() 保證輸入的 String 值不包含多余的空格

def popit():        # 定義一個出棧方法
  if len(stack) == 0:
    print "Cannot pop from an empty stack!"
  else:
    print 'Remove [', `stack.pop()`, ']'
    # 使用反單引號(` `)來代替 repr(), 把 String 的值用引號擴起來, 而不僅顯示 String 的值

def viewstack():      # 定義一個顯示堆棧中的內容的方法
    print stack

CMDs = {'u':pushit, 'o':popit, 'v':viewstack}
# 定義一個 Dict 類型對象, 將字符映射到相應的 function .可以通過輸入字符來執(zhí)行相應的操作

def showmenu():      # 定義一個操作菜單提示方法
  pr = """
  p(U)sh
  p(O)p
  (V)iew
  (Q)uit

  Enter choice: """

  while True:
    while True:
      try:
        choice = raw_input(pr).strip()[0].lower()
        # Str.strip() 去除 String 對象前后的多余空格
        # Str.lower() 將多有輸入轉化為小寫, 便于后期的統(tǒng)一判斷
        # 輸入 ^D(EOF, 產生一個 EOFError 異常)
        # 輸入 ^C(中斷退出, 產生一個 keyboardInterrupt 異常)

      except (EOFError, KeyboardInterrupt, IndexError):
        choice = 'q'

      print '\nYou picked: [%s]' % choice

      if choice not in 'uovq':
        print 'Invalid option, try again'
      else:
        break


    if choice == 'q':
      break
    CMDs[choice]()
    # 獲取 Dict 中字符對應的 functionName, 實現(xiàn)函數(shù)調用

if __name__ == '__main__':
  showmenu()

NOTE: 在堆棧數(shù)據結構中, 主要應用了 List 數(shù)據類型對象的 容器 和 可變 等特性, 表現(xiàn)在 List.append() 和 List.pop() 這兩個列表類型內建函數(shù)的調用.

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • python 初始化一個定長的數(shù)組實例

    python 初始化一個定長的數(shù)組實例

    今天小編就為大家分享一篇python 初始化一個定長的數(shù)組實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python+OpenCV實現(xiàn)圖像識別替換功能詳解

    Python+OpenCV實現(xiàn)圖像識別替換功能詳解

    OpenCV-Python是一個Python庫,旨在解決計算機視覺問題。本文將利用Python+OpenCV實現(xiàn)圖像識別替換功能,感興趣的小伙伴可以動手嘗試一下
    2022-07-07
  • Python中捕獲鍵盤的方式詳解

    Python中捕獲鍵盤的方式詳解

    這篇文章主要介紹了Python中捕獲鍵盤的方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • python如何實現(xiàn)MK突變檢驗方法,代碼復制修改可用

    python如何實現(xiàn)MK突變檢驗方法,代碼復制修改可用

    這篇文章主要介紹了python如何實現(xiàn)MK突變檢驗方法,代碼復制修改可用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python實現(xiàn)爬取亞馬遜數(shù)據并打印出Excel文件操作示例

    Python實現(xiàn)爬取亞馬遜數(shù)據并打印出Excel文件操作示例

    這篇文章主要介紹了Python實現(xiàn)爬取亞馬遜數(shù)據并打印出Excel文件操作,結合實例形式分析了Python針對亞馬遜圖書數(shù)據的爬取操作,以及數(shù)據打印輸出Excel相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • Pygame顯示文字的實現(xiàn)示例

    Pygame顯示文字的實現(xiàn)示例

    本文主要介紹了Pygame顯示文字的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python常用的文件及文件路徑、目錄操作方法匯總介紹

    Python常用的文件及文件路徑、目錄操作方法匯總介紹

    這篇文章主要介紹了Python常用的文件及文件路徑、目錄操作方法匯總介紹,本文集合了最常用的一些文件和目錄操作函數(shù),并一一介紹它們的作用,需要的朋友可以參考下
    2015-05-05
  • python中l(wèi)ogging包的使用總結

    python中l(wèi)ogging包的使用總結

    本篇文章給大家詳細講述了python中l(wèi)ogging包的使用的相關知識點以及原理分析,有興趣的朋友可以參考學習下。
    2018-02-02
  • 教你怎么用python實現(xiàn)字符串轉日期

    教你怎么用python實現(xiàn)字符串轉日期

    今天教各位小伙伴怎么用python實現(xiàn)字符串轉日期,文中有非常詳細的代碼示例,對正在學習python的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python 實現(xiàn)PS濾鏡的旋渦特效

    Python 實現(xiàn)PS濾鏡的旋渦特效

    這篇文章主要介紹了Python 實現(xiàn) PS 濾鏡的旋渦特效,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-12-12

最新評論

张家界市| 增城市| 资阳市| 黄骅市| 金沙县| 峨山| 长岛县| 阜平县| 岳西县| 潮州市| 奉节县| 商南县| 盐津县| 宜州市| 宾阳县| 汝城县| 高安市| 十堰市| 萍乡市| 兰坪| 蕉岭县| 武穴市| 崇阳县| 濉溪县| 阿克陶县| 长沙县| 讷河市| 肥乡县| 紫金县| 沁水县| 丘北县| 河间市| 鱼台县| 阜平县| 西乌珠穆沁旗| 巴南区| 右玉县| 双辽市| 澄迈县| 乌拉特中旗| 盘锦市|