新闻动态

Python中栈的详细介绍

发布日期:2021-12-10 01:19 | 文章来源:脚本之家

本文转自公众号:"算法与编程之美"

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中的栈内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部