Python如何实现栈栈

  介绍

这篇文章主要介绍Python如何实现栈栈,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>什么是栈

想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。从这堆书里面取一本书出来,取哪本书最方便?肯定是最上面那本。栈这种数据结构的特点就是如此:后进先出(后进先出(LIFO),即最后被堆进去的数据,最先被拿出来。

<强>栈的Python实现

栈可以用顺序表方式实现,也可以用链表方式实现。我大Python的内建数据结构太强大,可以用列表直接实现栈,简单快捷。人生苦短,我用Python。代码如下:

class 堆栈(对象):   #,才能初始化栈为空列表   def 才能__init__(自我):   ,,,self.items =, []   #才能,判断栈是否为空,返回布尔值   def 才能is_empty(自我):   ,,,return  self.items ==, []   #,才能返回栈顶元素   def 才能,peek(自我):   ,,,return  self.items (len (self.items),安康;1]   #,才能返回栈的大小   def 才能;大小(自我):   ,,,return  len (self.items)   #,才能把新的元素堆进栈里面(程序员喜欢把这个过程叫做压栈,入栈,进栈……)   def 才能推动(自我,,项):   ,,,self.items.append(项)   #,才能把栈顶元素丢出去(程序员喜欢把这个过程叫做出栈……)   def 才能;流行(自我,,项):   ,,,return  self.items.pop ()   if  __name__ ==, __main__:   #,才能初始化一个栈对象   my_stack 才能=,堆栈()   #,才能把& # 39;h # 39;丢进栈里   my_stack.push才能(& # 39;h # 39;)   #,才能把& # 39;一个# 39;丢进栈里   my_stack.push才能(& # 39;一个# 39;)   #,才能看一下栈的大小(有几个元素)   print 才能;my_stack.size ()   #,才能打印栈顶元素   print 才能;my_stack.peek ()   #,才能把栈顶元素丢出去,并打印出来   print 才能;my_stack.pop ()   #,才能再看一下栈顶元素是谁   print 才能;my_stack.peek ()   #才能,这个时候栈的大小是多少吗?   print 才能;my_stack.size ()   #,才能再丢一个栈顶元素   print 才能;my_stack.pop ()   #,才能看一下栈的大小   print  my_stack.size才能   #才能,栈是不是空了吗?   print 才能;my_stack.is_empty ()   #才能,哇~真好吃~   print 才能;& # 39;美味~ & # 39;

<强>提示:

看完上面的代码,聪明的同学一定知道了,Python里面实现栈,就是把列表包装成一个类,再添加一些方法作为栈的基本操作。其他的数据结构在Python中也是以类似的方式实现的。
那么,这里有一些有的没的要说一下~

如果希望项目[]是堆栈类私有的属性,这样做就好了:

def  __init__(自我):   self.__items 才能=,[]

没错,就是在项目前面加两个下划线__,在Python中,类的私有成员就是这样定义哒~

如果希望限定堆栈类的成员只有项目,不要其他的怪蜀黍乱加成员,那么这样做就好了:

class 堆栈(对象):   __slots__ 才能=,(& # 39;__items& # 39;)      def 才能__init__(自我):   ,,,self.__items =, []

这样就安全多啦~

以上是“Python如何实现栈栈”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

Python如何实现栈栈