python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)

前言

Python本身已有顺序表(List、Tupple)的实现,所以这里从栈开始。

什么是栈

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

栈的Python实现

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

Tips:

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

那么,这里有一些有的没的要说一下~

如果希望items[]是Stack类私有的属性,这样做就好了:

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

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

这样就安全多啦~

Python并没有Java里的public/private/protected这样的修饰符,因为Python的设计者认为,“大家都是成年人了”~

总结

以上所述是小编给大家介绍的Python实现的栈(Stack),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/xuqiang20121991/article/details/54139431

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 计划任务

1.计划任务:at一次性计划任务。 (1)/etc/init.d/atd status   #查看at命令是否开启。 (2)yum -y install at     #安装at命令 命令: # 一次性计划任务。命令:at 09:14 /回车    at&g…

李德毅院士:基于驾驶脑的智能驾驶车辆硬件平台架构

来源:中国工程院院刊转自:智车科技导 读: 智能驾驶车辆试验平台是人工智能科学、认知科学、控制科学等多个学科领域的最新理论与实践的成果,也是研究智能驾驶理论与技术的基础。不同智能驾驶试验平台的传感器型号、数量、安装位置…

springboot中获得app_在SpringBoot中读取环境变量

What is the best way to read environment variables in SpringBoot?In Java I did it using:String foo System.getenv("bar");Is it possible to do it using Value annotation?解决方案Spring Boot allows you to externalize your configuration so you can …

jdk+Tomcat环境搭建

jdk安装与环境变量配置测试Java是否安装好,可以利用cmd命令提示符进行测试。在界面中输入Java,然后回车;得到下图所示的内容,说明安装成功了,可以进行环境变量配置了。进行环境变量配置,首先新建环境变量&a…

有关博弈人机混合智能的再思考

来源:人机与认知实验室【博弈智能研究是一个领域,不是一个学科,我们必须要用不同的方法论,从不同的角度来研究游戏,方法论、角度越多,博弈智能研究就会做得越好。】博弈智能是一种涉及感性(尤其…

QMap与QHash

关联容器可以保存任意多个具有相同类型的项&#xff0c;且它们由一个键索引。Qt提供两个主要的关联容器类&#xff1a;QMap<K, T>和QHash<K, T>。 QMap<K, T>是一个以升序键顺序存储键值对的数据结构。这种排列使它可以提供良好的查找插入性能及键序的迭代。…

工业机器人滑膜变结构控制技术_机器人智能滑模变结构控制方法的研究

学校代号 10532 学 号 S150900769 分 类 号 TP241 密 级 公开 硕士学位论文 机器人智能滑模变结构控制方法的研究 学位申请人姓名 张爱林培 养 单 位 电气与信息工程学院导师姓名及职称 谢宏 副教授学 科 专 业 控制科学与工程 研 究 方 向 控制理论与控制工程论 文 提 交 日 期…

邬贺铨:工业互联网的网络技术

来源&#xff1a;工业互联网产业联盟在2020工业互联网大会开幕式上&#xff0c;中国工程院院士邬贺铨发表题为《工业互联网的网络技术》的主旨演讲&#xff0c;从工业互联网物理层技术、链路层技术、网络层技术三个方面&#xff0c;对现有通信网络如何满足工业互联网高速发展要…

NGINX下配置CACHE-CONTROL

转载的&#xff0c;那个页面让关了&#xff0c;&#xff0c;没标明请谅解。 HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-a…

无返回值_只需一步,在Spring Boot中统一Restful API返回值格式与处理异常

统一返回值在前后端分离大行其道的今天&#xff0c;有一个统一的返回值格式不仅能使我们的接口看起来更漂亮&#xff0c;而且还可以使前端可以统一处理很多东西&#xff0c;避免很多问题的产生。比较通用的返回值格式如下&#xff1a;public class Result { // 接口调用成功或者…

什么是边缘计算(Edge AI)?

来源&#xff1a;万物智能视界边缘AI发源于边缘计算。边缘计算也称为边缘处理&#xff0c;是一种将服务器放置在本地设备附近网络技术, 这有助于降低系统的处理负载&#xff0c;解决数据传输的延迟问题。这样的处理是在传感器附近或设备产生数据的位置进行的&#xff0c;因此称…

VUE全局api

一、什么是全局API&#xff1f; 全局API并不在构造器里&#xff0c;而是先声明全局变量或者直接在Vue上定义一些新功能&#xff0c;Vue内置了一些全局API&#xff0c;比如我们今天要学习的指令Vue.directive。说的简单些就是&#xff0c;在构造器外部用Vue提供给我们的API函数来…

vts传感器采取船舶的_智慧船舶交通管理系统

技术参数1、信息处理单台服务器水上目标(含移动和静止目标)实时处理容量≥10000个&#xff0c;可扩展。2、二三维显示性能单个工作台上显示水上目标数&#xff1a;10000个。3、VTS雷达录取点迹处理能力≥2000点/s。航迹处理能力≥1000批/转(22转/min)。航迹处理延时≤1s。功能描…

美国运通使用AI技术检测欺诈行为 增强安全性

来源丨Forbes编译丨科技行者多年以来&#xff0c;美国运通一直是人工智能与认知技术领域的领导者。作为坐拥有庞大忠实客户群体的全球金融服务机构&#xff0c;保障客户账户安全一直是运通职能的重中之重。在很长一段时间里&#xff0c;发现并制止欺诈行为一直是美国运通公司的…

未来趋势?通过无线技术管理汽车电池,可消除90%物理布线

电动汽车的电池寿命要求远比手机电池要高。来源 | 雷锋网作者 | 伍文靓雷锋网按&#xff0c;当智能手机中的电池损耗殆尽&#xff0c;无法满足正常使用的续航体验时&#xff0c;用户往往会选择换一台新的设备&#xff0c;以此来解决问题。这是十分常规的操作。然而&#xff0c…

MySQL ERROR 1045 (28000): Access denied for user 'root'@'192.168.23.224' (using password: YES)

出现如题错误可能原因&#xff1a; 1、密码有误。检查密码是否与 mysql.user 中 root 用户对应密码一致&#xff08;我就是这个原因&#xff0c;被折磨整个下午和晚上&#xff09; 2、用户 root 没有授权&#xff0c;授权命令如下&#xff1a; grant all on *.* to root% ident…

nacos 怎么配置 里的配置ip_nacos集群配置

一、环境准备Nacos 依赖 java环境来运行。如果您是从代码开始构建并运行Nacos&#xff0c;还需要为此配置 Maven环境&#xff0c;请确保是在以下版本环境中安装使用:64 bit OS&#xff0c;支持 Linux/Unix/Mac/Windows&#xff0c;推荐选用 Linux/Unix/Mac。64 bit JDK 1.8&…

RF MEMS开关时代将开启?

来源&#xff1a;内容编译自「IEEE」&#xff0c;谢谢。二十年前&#xff0c;专门研究射频电路的工程师设想了一种“理想的开关”。这种开关“打开”时&#xff0c;它将具有超低电阻&#xff0c;“关闭”时将具有超高电阻等等。它体积小巧&#xff0c;快速&#xff0c;易于制造…

BZOJ3245: 最快路线 拆点dijkstra

150个点&#xff0c;500种速度&#xff0c;乘起来大概8e4个点&#xff0c;3e4的边 其他题解写的基本都是spfa&#xff0c;想想dij也能做&#xff0c;还挺快 #include<bits/stdc.h> //#pragma comment(linker, "/STACK:1024000000,1024000000") #include&l…

3dmax体积雾渲染不出来_【扮家家云渲染效果图】3Dmax体积光制作丛林光束|干货教程...

首先打开场景文件场景中创建了一些树木组成了森林的效果。首先要为场景创建灯光。单击创建&#xff0c;选择灯光&#xff0c;将类型切换为标准。接着单击目标平行光。在场景中拖拽进行创建&#xff0c;创建一盏目标平行光&#xff0c;然后单击修改&#xff0c;勾选阴影&#xf…