'''
1.首先确认栈的概念,先进后出
2.初始化的时候如果给了一个数组那么就要将数组进栈
'''
class Stack:
def __init__(self,start=[]):
self.stack=[] #初始化一个数组,用于存储栈成员
for x in start: #遍历初始化时给定的数组
self.push(x) #调用进栈方法
def isEmpty(self): #判断是否是空的栈
return not self.stack # not 0 为True not 1..为True
def push(self,obj): #进栈
self.stack.append(obj) #实质是给数组添加成员
def pop(self): #出栈,一定是先进后出,也就是最后进的最早出去
if not self.stack: #首先判断栈是否为空
print("error stack is empty")
else:
return self.stack.pop() # 数组的pop是抛出数组最后一个元素,也就是最后田间的元素
def top(self):
if not self.stack:
print("error stack is empty")
else:
return self.stack[-1] #取出倒数第一个元素,也就是数组最后一个元素 def bottom(self):
if not self.stack:
print("error stack is empty")
else:
return self.stack[0] #取出第一个元素,也就是数组第一个元素

python,栈的小例子的更多相关文章

  1. Python,while循环小例子--猜拳游戏(三局二胜)

    Python,while循环小例子--猜拳游戏(三局二胜) import random all_choice = ['石头', '剪刀', '布'] prompt = '''(0)石头 (1)剪刀 ( ...

  2. python 字典 get 小例子

    语法 get()方法语法: dict.get(key, default=None) 参数 key -- 字典中要查找的键. default -- 如果指定键的值不存在时,返回该默认值值. 返回值 返回 ...

  3. [Spark][Python]Spark Join 小例子

    [training@localhost ~]$ hdfs dfs -cat people.json {"name":"Alice","pcode&qu ...

  4. python事件驱动的小例子

    首先我们写一个超级简单的web框架 event_list = [] #这个event_list中会存放所有要执行的类 def run(): for event in event_list: obj = ...

  5. 由Python的一个小例子想到的

    习题: L = [1,2] L.append(L) Print L 问,结果是什么. 结果是,[1,2,[...]] 这是什么意思呢?就是说[...]表示的对[1,2]的无限循环.这一点是在C#等静态 ...

  6. python 基础 字典 小例子

    统计单词次数 作为字典存储 cotent = "who have an apple apple is free free is money you know" result = { ...

  7. python 基础 列表 小例子

    存主机ip到列表 host_list=[] netip='192.168.1' for hostip in range(1,254): ip = netip +str(hostip) host_lis ...

  8. Python,for循环小例子--99乘法表

    一.99乘法表 for i in range(1, 10): for j in range(1, i + 1): print('%sx%s=%s ' % (j, i, j * i), end='') ...

  9. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子

    [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...

随机推荐

  1. Java父类与子类方法调用顺序

    父类 FatherClass package 父类与子类方法调用顺序; /** * 父类 * @author shundong * */ public class FatherClass { priv ...

  2. 2018acm-icpc徐州站后记

    大概是我所有比赛里面打的最自闭的比赛了,真的很不想写这篇比赛的后记. 记得我刚学习acm的时候,觉得如果每一场比赛都能拿一块铜牌就好了,只要不铁都是很开心的. 但是没想到真正拿铜会这么难受.可能是因为 ...

  3. python数据结构总结

    一.列表 1.列表脚本操作符: (1)扩增的操作符: “+”:用于组合列表:如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6] "*":重复;如[2,3]*2= ...

  4. linux安装Subversion版本控制工具(Subversion + Apache + jsvnadmin)

    操作系统:Centos 6.7 集成环境服务器:10.0.210.112 操作用户:root 建议安装前更新操作系统 # yum update 更新完成后重启 # reboot 1: 安装 Apach ...

  5. mssql的 for xml path 与 mysql中的group_concat类似MSSQL For xml Path

    /****** Script for SelectTopNRows command from SSMS ******/ SELECT D_ID,[D_Name] as Name FROM [LFBMP ...

  6. appcms SSRF 绕过漏洞[转载]

    漏洞 <?php if(isset($_GET['url']) && trim($_GET['url']) != '' && isset($_GET['type' ...

  7. JQ和Js获取span标签的内容

    JQ和Js获取span标签的内容 html: 1 <span id="content">‘我是span标签的内容’</span> javascript获取: ...

  8. npm scripts 脚本基础指南

    什么是npm脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令. 初始化package.json -> npm init -> 经历一系列的问答即可 ...

  9. 使用JAVA数组实现顺序表

    1,引入了JAVA泛型类,因此定义了一个Object[] 类型的数组,从而可以保存各种不同类型的对象. 2,默认构造方法创建了一个默认大小为16的Object数组:带参数的构造方法创建一个指定长度的O ...

  10. MyEclipse2017 隐藏回车换行符

    Preferences->Text Editor->Show Whitespace characters(configure visibility)->Transparency Le ...