Python实现栈的方法


Posted in Python onMay 26, 2015

本文实例讲述了Python实现栈的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python 
#定义一个列表来模拟栈 
stack = [] 
#进栈,调用列表的append()函数加到列表的末尾,strip()没有参数是去掉首尾的空格 
def pushit(): 
  stack.append(raw_input('Enter new string: ').strip()) 
#出栈,用到了pop()函数 
def popit(): 
  if len(stack) == 0: 
    print 'Cannot pop from an empty stack!' 
  else: 
    print 'Removed [', stack.pop(), ']' 
#编历栈 
def viewstack(): 
  print stack 
#CMDs是字典的使用 
CMDs = {'u': pushit, 'o': popit, 'v': viewstack} 
#pr为提示字符 
def showmenu(): 
  pr = """ 
  p(U)sh 
  p(O)p 
  (V)iew 
  (Q)uit 
    Enter choice: """ 
  while True: 
    while True: 
      try: 
        #先用strip()去掉空格,再把第一个字符转换成小写的 
        choice = raw_input(pr).strip()[0].lower() 
      except (EOFError, KeyboardInterrupt, IndexError): 
        choice = 'q' 
      print '\nYou picked: [%s]' % choice 
      if choice not in 'uovq': 
        print 'Invalid option, try again' 
      else: 
        break 
#CMDs[]根据输入的choice从字典中对应相应的value,比如说输入u,从字典中得到value为pushit,执行pushit()进栈操作 
    if choice == 'q': 
      break 
    CMDs[choice]() 
#判断是否是从本文件进入,而不是被调用 
if __name__ == '__main__': 
  showmenu()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python操作gmail实例
Jan 14 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
python 批量修改/替换数据的实例
Jul 25 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
python 如何区分return和yield
Sep 22 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
Python实现二分查找算法实例
May 26 #Python
Django发送html邮件的方法
May 26 #Python
Python使用xlrd模块操作Excel数据导入的方法
May 26 #Python
django实现分页的方法
May 26 #Python
Django imgareaselect手动剪切头像实现方法
May 26 #Python
Django实现图片文字同时提交的方法
May 26 #Python
Python实现的简单算术游戏实例
May 26 #Python
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php之readdir函数用法实例
2014/11/13 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python文件及目录操作实例详解
2015/06/04 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python进度条的制作代码实例
2019/08/31 Python
python 读取串口数据的示例
2020/11/09 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
致跳远运动员广播稿
2014/02/11 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
食堂卫生管理制度
2015/08/04 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
nginx配置之并发频次限制
2022/04/18 Servers