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 相关文章推荐
python3.0 字典key排序
Dec 24 Python
python计算对角线有理函数插值的方法
May 07 Python
深入理解python中的select模块
Apr 23 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
Django中多种重定向方法使用详解
Jul 17 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
django将数组传递给前台模板的方法
Aug 06 Python
pytorch 输出中间层特征的实例
Aug 17 Python
python+mysql实现个人论文管理系统
Oct 25 Python
Python在字符串中处理html和xml的方法
Jul 31 Python
GitHub上值得推荐的8个python 项目
Oct 30 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 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
php生成短域名函数
2015/03/23 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php二维码生成以及下载实现
2017/09/28 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
python实现文本去重且不打乱原本顺序
2016/01/26 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
商场拾金不昧表扬信
2014/01/13 职场文书
七一党建活动方案
2014/01/28 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
办公室副主任职责范本
2014/03/08 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
2014年终个人总结报告
2015/03/09 职场文书
行政二审代理词
2015/05/25 职场文书
防震减灾主题班会
2015/08/14 职场文书