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标准库之随机数 (math包、random包)介绍
Nov 25 Python
python脚本监控docker容器
Apr 27 Python
不可错过的十本Python好书
Jul 06 Python
Python设计模式之策略模式实例详解
Jan 21 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
详解python和matlab的优势与区别
Jun 28 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
Python源码解析之List
May 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
PHP asXML()函数讲解
2019/02/03 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python实现购物程序思路及代码
2017/07/24 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
Django开发中复选框用法示例
2018/03/20 Python
django fernet fields字段加密实践详解
2019/08/12 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
django queryset相加和筛选教程
2020/05/18 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
HTML5的革新 结构之美
2011/06/20 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
Delphi CS笔试题
2014/01/04 面试题
环境工程专业个人求职信
2013/12/05 职场文书
信息工作经验交流材料
2014/05/28 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
音乐会主持人开场白
2015/05/28 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python