Python实现栈结构的方法
小编给大家分享一下Python实现栈结构的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联专业网站建设,网站制作与网站建设公司,1800元做网站建设全包,免费赠送网站基础优化服务,让你的网站变得更有价值,公司拥有完善的专业网络公司流程,能够为企业提供建站服务。使用PHP+MYSQL开发可交付网站源代码;符合网站优化排名的后台管理系统;网站制作收费合理;免费进行网站备案等企业网站建设一条龙服务.
栈(stack)又名堆栈,它是一种运算受限的线性表。在Python中可使用列表进行实现。
什么是栈?
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
如何实现?
在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实现栈结构的方法
链接URL:http://myzitong.com/article/ggeepp.html