Python中栈的详细介绍,
Python中栈的详细介绍,
目录
- 1、问题描述
- 2、解决方案
- 3、结语
本文转自公众号:"算法与编程之美"
1、问题描述
Python
中数据类型有列表,元组,字典,队列,栈,树等等。像列表,元组这样的都是python内置数据结构;栈,队列这些都是需要我们自己去定义的。
栈是一种只允许在一端插入和取出的数据结构,这一端通常被叫做栈顶,另一端叫栈底,没有数据的叫空栈。这种数据类型由于是我们自己进行定义,所以有很多功能都需要自己写出相应函数来实现。所以我们看看这里的功能。
2、解决方案
栈的基本操作大概有:生成栈,入栈,出栈,返回栈顶元素,判断是否为空栈,返回栈内元素个数。
首先我们先要创建一个栈:
class stack(object): def __init__(self): self.__list = []
这里创建出来就是一个空栈,想要检测的话我们也可以通过一个函数来检测是否为空栈:
def is_empty(self): return self.__list == [] # return not self.__list
这是两种return
的检测方式,任选其一都能够完成。
接下来创建了栈,也知道了检测栈是否为空。如定义所说,因为栈是我们自己定义的一种数据结构,且满足一个后进先出的规则,那么元素的保存和取出也自然不同。我们叫做入栈和出栈。首先是入栈,我么仅需要定义一个push函数:
def push(self,item): self.__list.append(item)
然后定义一个函数pop来进行出栈:
def pop(self): self.__list.pop()
peek函数进行返回栈顶元素操作:
def peek(self): if self.__list: return self.__list[-1] else: return None
size函数进行返回栈的元素个数的操作:
def size(self): return len(self.__list)
3、结语
以上便是栈这种数据结构的大概用法,通过定义各种函数,然后在使用时直接调用,这样也显得非常的方便。
定义栈的函数时,特别要注意的是里面关键词的使用,例如__list,__init__,
中的下划线的使用,这些都是系统内定的,不能轻易改变,不然很容易让系统报错。
到此这篇关于Python
中栈的详细介绍的文章就介绍到这了,更多相关Python
中的栈内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!
- python防止栈溢出的实例讲解
- 详解python数据结构之栈stack
- python中实现栈的三种方法
- python全栈开发语法总结
- Python可以实现栈的结构吗
- Python捕获异常堆栈信息的几种方法(小结)
- 使用Python将Exception异常错误堆栈信息写入日志文件
- Python实现栈的方法详解【基于数组和单链表两种方法】
- Python栈的实现方法示例【列表、单链表】
- python实现异常信息堆栈输出到日志文件
评论关闭