python数据结构之栈

栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。

由于栈数据结构只允许在一端进行操作,因而按照后进先出的原理运作。

附上完整代码:

class Stack(object):def __init__(self):
  #初始化self.items=[]def empty(self):
  #判断是否为空return self.items == []def push(self,item):
  #压栈self.items.append(item)def pop(self):
  #进栈return  self.items.pop()def peek(self):
  #返回栈顶return self.items[len(self.items) - 1]def size(self):
  #返回长度return len(self.items)
if __name__== "__main__":
  #站函数stack = Stack()stack.push("hello")stack.push("python")stack.push("itcast")print (stack.size())print (stack.peek())print (stack.pop())print (stack.pop())print (stack.pop())

转载于:https://www.cnblogs.com/kk328/p/9498528.html

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

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

相关文章

Ubuntu 16.04安装教程及虚拟机设置

摘自:Ubuntu 16.04安装教程及设置 作者:一只青木呀 发布时间: 2020-07-09 22:36:50 网址:https://blog.csdn.net/weixin_45309916/article/details/107239119 配合这篇博文:安装ubuntu20.04并进行优化——安装vim,gcc,…

matlab vision工具箱使用手册,matlab-Computer Vision System ToolBox的系统对象使用

在MATLAB中,调用计算机视觉工具箱中的vision.GeometricScaler可实现对输入图像的缩放变换。 vision.GeometricScaler的具体使用方法如下: vision.GeometricScaler 功能:对图像进行几何尺寸的放缩; 语法:A step(vision…

python方法名加__学习python中__name__方法使用

今天在自学生产者消费者模型时,发现了一个有趣的方法 if__name__ "__main__": for i in range(2): p Producer() p.start() for i in range(10): c Consumer() c.start() 于是就去确认了一下度娘,果然好多初学者都会问这个问题,…

牛客小白月赛6 J 洋灰三角

J 洋灰三角 题目: 链接:https://www.nowcoder.com/acm/contest/136/J来源:牛客网 时间限制:C/C 1秒,其他语言2秒空间限制:C/C 262144K,其他语言524288K64bit IO Format: %lld题目描述 洋灰是…

PureMVC(AS3)剖析:设计模式(二)

PureMVC(AS3)剖析:设计模式(二) 模式 上一篇中介绍了PureMVC中使用的3种设计模式:单例模式、观察者模式、外观模式。本篇将继续介绍剩下的3种设计模式: l 使用中介者(Mediator&…

FileZilla的下载与安装以及简单使用(Ubuntu和Windows之间互传文件需要下载——客户端)

参考:FileZilla的下载与安装以及简单使用(有图解超简单) 作者:一只青木呀 发布时间: 2020-08-04 13:20:59 网址:https://blog.csdn.net/weixin_45309916/article/details/107782070?ops_request_misc%257B…

基于Matlab的循环码实验报告,基于MATLAB的循环码实验报告

及g(x)|C(x)上述定理告诉了构造(n,k)循环码的方法如下: ① 对xn-1 (在二元域中等效于对xn1)实行因式分解, 找出其中的(n-k)次因式。② 以找出的(n-k)次因式为循环码生成多项式g(x),与信息多项式m(x)相乘,即得码多项式:…

前后端交互中,返回前端的自定义响应数据结构

在前后端交互分离的体系下,我们后端一般会将返回给前端的信息数据进行格式的统一,然后返回前端json串;,一下我提供了一个模板,在实际开发中可进行参考 package com.project.util;/** * Description: 自定义响应数据结构…

如何解决Filezilla 与虚拟机连接不上的问题

摘自:如何解决Filezilla 与虚拟机连接不上的问题 作者:一只青木呀 发布时间: 2020-08-28 21:48:04 网址:https://blog.csdn.net/weixin_45309916/article/details/108287326?ops_request_misc%257B%2522request%255Fid%2522%253A…

php 访问 sharepoint列表,SharePoint—用REST方式访问列表

REST的定义与作用在SharePoint 2010中,基本上有如下几种数据访问方式: 服务器端对象模型LINQ to SharePointWeb Service客户端对象模型ADO.NET Data Service (REST协议)ADO.NET Data Service (强类型)REST是SharePoint中一种数据访问方式,这种…

python去除特殊字符_python去除BOM头\ufeff等特殊字符

1.\ufeff 字节顺序标记 去掉\ufeff,只需改一下编码就行,把UTF-8编码改成UTF-8-sig with open(file_path, moder, encodingUTF-8-sig) as f: s f.read() 2.\xa0 是不间断空白符 \xa0 是不间断空白符 我们通常所用的空格是 \x20 ,是在标准AS…

Vmware虚拟机三种网络模式配图详解

目录Vmware虚拟机三种网络模式详解Vmware虚拟机三种网络模式详解 具体的文字描述参见博文:https://www.cnblogs.com/linjiaxin/p/6476480.html Linux——Vmware虚拟机三种网络模式详解

SQL SERVER 中identity

SQL SERVER 中identity用法: 在数据库中, 常用的一个流水编号通常会使用 identity 栏位来进行设置, 这种编号的好处是一定不会重覆, 而且一定是唯一的, 这对table中的唯一值特性很重要, 通常用来做客户编号, 订单编号等功能, 以下介绍关于此种栏位常用方式及相关技…

php content-type: multipart/mixed,{error:invalid multipart format} 这是什么原因,我已经在HEADER中设置了Content-...

用CULR向七牛的API上传文件每次总是invalid multipart format但是我已经设置了Content-type:multipart/form-data呀function uploadFile($localPath, $remoteFileName, $headersarray()){global $conf;$remoteFileName trim($remoteFileName,/);$policy array(scope > $co…

【AGC005F】Many Easy Problems (NTT)

Description ​ 给你一棵\(~n~\)个点的树和一个整数\(~k~\)。设为\(~S~\)为树上某些点的集合,定义\(~f(S)~\)为最小的包含\(~S~\)的联通子图的大小。\(~n~\)个点选\(~k~\)个点一共有\(~C_n^k~\)种方案,请你求出所有方案的\(~f(S)~\)的和, 对\…

现在学python和java哪个好_java和python学习哪个未来发展前景更好?

原标题:java和python学习哪个未来发展前景更好? 学java和python哪个更好?这是现在大家热议的一个问题。 Python崛起这已经是一个不争的事实,并且已经成为人工智能时代的第一语言。Python的优势就是在任何方面都非常强大。号称胶水…

同步IO、异步IO、阻塞IO、非阻塞IO、复用IO

参考:同步IO 异步IO 作者:今天天气眞好 发布时间: 2021-04-19 09:42:29 网址:https://blog.csdn.net/qq_51118175/article/details/115857196?spm1001.2014.3001.5501 目录同步IO与异步IO的区别?1.POSIX2.IO模型阻塞I…

java线程之基础学习

java线程之基础学习总结 线程实现的两种方式:在java中可以有两种方式实现多线程操作,一种是继承Thread类,另外一种是实现Runnable接口。 继承Thread类Thread类是在java.lang包中定义的一个类只要继承Thread类,要覆写run()方法。简…

Scala 学习笔记

Scala 学习笔记 1 object func_exp {2 println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet3 def hello(name: String): String {4 s"Hello, ${name}"5 } …

python反编译exe_实战 Python3.7+64位 Exe 反编译

记得有年在上海弘连培训,其中一个逆向题就是关于python的Exe,当时就想着写个文档,后来因为忙就拖延了下来;这里补上,而且是大补上:奉献一个干货,网上没有(我没发现)Python3.7的反编译教程&#…