python栈
class StackEmptyError(Exception): pass class StackFullError(Exception): pass class Stack: def __init__(self, size): self.index = 0 self.size = size self.lst = [] def pop(self): if self.index > 0: ret = self.lst[self.index] return ret else: raise StackEmptyError("stack has already empty") def push(self, el): if self.index > self.size: raise StackFullError("stack is full") else: self.lst[self.index] = el self.index = self.index + 1 def clear(self): self.lst.clear() self.index = 0 def __sizeof__(self): return len(self.lst) def max(self): return self.size def now(self): return self.index
python栈的更多相关文章
- Python 栈(stack)
Python 栈(stack) 栈(stack)又名堆栈,它是一种运算受限的线性表 栈只能在一端进行插入和删除操作,它按照先进后出(FILO)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶 ...
- 分布式机器学习:如何快速从Python栈过渡到Scala栈
首先介绍下我的情况和需求,如果你跟我类似,那么这篇文章将很有帮助: 我之前的技术栈主要是Java.Python,机器学习方面主要用到是pandas.numpy.sklearn.scipy.matplo ...
- 【12】python 栈型数据结构模拟、队列型数据结构模拟
一.压栈操作模拟 #__author:"吉*佳" #date: 2018/10/21 0021 #function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作 ...
- Python 栈、队列的实现
在python中,列表既可以作为栈使用,又可以作为队列使用. 把列表作为栈使用 栈:后进先出 stack=[1,2,3] stack.append(4) #入栈,以列表尾部为栈顶 print(stac ...
- python 栈
栈的特点:先进后出 class Stack: def __init__(self): self.data = [] def push(self, val): self.data.append(val) ...
- python栈的实现(入栈,出栈)
#coding=utf-8 class Stack(): def __init__(st,size):#栈的初始化 st.stack=[]; st.size=size; st.top=-1 def p ...
- python,栈的小例子
''' 1.首先确认栈的概念,先进后出 2.初始化的时候如果给了一个数组那么就要将数组进栈 ''' class Stack: def __init__(self,start=[]): self.sta ...
- Python 栈和队列,双向队列
# 栈 # 特点: 先进后出 class StackFullException(Exception): pass class StackEmptyException(Exception): pass ...
- Python栈的学习资料
持续更新... 1. 基础 Python for Everybody的视频课程,称得上深入浅出 https://www.py4e.com/ 2. 进阶 偏重实践应用,快速上手,稀饭~ https:// ...
- python栈--字符串反转,括号匹配
栈的实现: # 定义一个栈类 class Stack(): # 栈的初始化 def __init__(self): self.items = [] # 判断栈是否为空,为空返回True def isE ...
随机推荐
- CF1101F Trucks and Cities
题意:给定线段上n个特殊点,m次询问. 每次询问:在第l个点到第r个点这一段区间中选出k个点,将其分成k + 1段.使得最长的段尽量短. 输出这m个询问中答案最大的. n<=400,m<= ...
- A1113. Integer Set Partition
Given a set of N (> 1) positive integers, you are supposed to partition them into two disjoint se ...
- textarea高度自适应自动展开
在使用之前,推荐两个比较好的事件,分别是oninput和onpropertychange,IE9以下不兼容oninput.在textarea发生变化时,可以通过监听这两个事件来触发你需要的功能. te ...
- JavaScript(JS)之Javascript对象BOM,History,Location,Function...(二)
https://www.cnblogs.com/haiyan123/p/7594046.html 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创 ...
- JS中的toString方法
JS中的所有对象都具有toString方法,它把一个变量隐式转换为字符串 Number类型的对象的toString()方法比较特殊,有默认模式和基模式两种 默认模式: 无论我们用什么表示法声明数字变量 ...
- nginx 配置两个域名
1.首先第一步安装: 参考:https://www.cnblogs.com/wyd168/p/6636529.html 启动: /usr/local/nginx/sbin/nginx -c /usr/ ...
- day06-(mysql)
建表: CREATE DATABASE mysqltest2; USE mysqltest2; -- 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, -- ...
- 【 强大的Mac/iOS开发工具】AppCode for Mac 2017.3
[简介] 最新的 AppCode 2017.3 版本,完全支持最新的Swift 4.0语言,这是一款JetBrain出品的强大的OS X 和 iOS开发工具,AppCode可以用于开发 Mac OS ...
- angular cli全局版本大于本地版本 把本地版本升级方式
查看 angular 版本 ng version 如出现提示 Your global Angular CLI version (xxx) is greater than your local ver ...
- Java泛型、List接口整理
泛型 package com.oracle.demo01; import java.util.HashMap; import java.util.Iterator; import java.util. ...