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 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
彻底理解Python list切片原理
Oct 27 Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
python 接收处理外带的参数方法
Dec 03 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
Python爬虫后获取重定向url的两种方法
Jan 19 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里8个鲜为人知的安全函数分析
2014/12/09 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
CI框架常用函数封装实例
2016/11/21 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python中append实例用法总结
2019/07/30 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
python实现最速下降法
2020/03/24 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
Python之Sklearn使用入门教程
2021/02/19 Python
自动化专业个人求职信范文
2013/12/30 职场文书
护理专业优质毕业生自荐书
2014/01/31 职场文书
党课培训心得体会
2014/09/02 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
思想道德自我评价2015
2015/03/09 职场文书
小学教研工作总结2015
2015/05/13 职场文书
雷锋的故事观后感
2015/06/10 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL