国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 數據結構之堆棧實例代碼

2020-02-23 04:19:07
字體:
來源:轉載
供稿:網友

Python 堆棧

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

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

下面是一個由 Python 實現的簡單的堆棧結構:

stack = []         # 初始化一個列表數據類型對象, 作為一個棧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 stackCMDs = {'u':pushit, 'o':popit, 'v':viewstack}# 定義一個 Dict 類型對象, 將字符映射到相應的 function .可以通過輸入字符來執行相應的操作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() 將多有輸入轉化為小寫, 便于后期的統一判斷        # 輸入 ^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, 實現函數調用if __name__ == '__main__':  showmenu()

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏津县| 固原市| 三明市| 景德镇市| 奉化市| 大安市| 武功县| 林口县| 蓬莱市| 崇阳县| 浏阳市| 宁津县| 台州市| 梁河县| 汤阴县| 翁牛特旗| 东安县| 惠来县| 雷山县| 介休市| 揭阳市| 广汉市| 弥渡县| 车险| 滦平县| 朝阳县| 宿州市| 嘉祥县| 余江县| 高安市| 军事| 广东省| 乐山市| 牙克石市| 祥云县| 通道| 葫芦岛市| 大同县| 墨玉县| 武山县| 枝江市|