1.实现栈:

stack=[]

def pushit():
stack.append(raw_input('Enter New String:').strip())
def popit():
if len(stack)==0:
print 'can not pop anything from a empty stack'
else:
print 'Remove[',repr(stack.pop()),']'
def viewstack():
print stack CMDs={'u':pushit,'o':popit,'v':viewstack} def showmenu():
pr="""
p(U)sh
p(O)p
(V)iew
(Q)uit Enter choice:"""
while True:
while True:
try:
choice=raw_input(pr).strip().lower()
except (EOFError,KeyboardInterrupt,IndexError):
choice='q'
print '\nYou picked:[%s]' %choice
if choice not in 'uovq':
print'Invaild option,try again'
else:
break
if choice=='q':
break
CMDs[choice]() if __name__=='__main__':
showmenu()

2.实现队列

queue=[]

def enQ():
queue.append(raw_input('Please enter a new element:').strip()) def deQ():
if len(queue)==0:
print "Error: cannot pop anything from a empty queue"
else:
print 'Remove [',queue.pop(0),']' def viewshow():
print queue
CMDs={'e':enQ,'d':deQ,'v':viewshow}
def showmenu():
pr='''
(E)nQ
(D)eQ
(V)iewshow
(Q)uit Enter your choice:
'''
while True:
while True:
try:
choice=raw_input(pr).strip()[0].lower()
except (EOFError,KeyboardInterrupt,IndexError):
choice='q'
print 'You picked [%s]' % choice
if choice not in 'edvq':
print 'Invail option, Try again'
else:
break
if choice=='q':
break
CMDs[choice]()
if __name__=='__main__':
showmenu()

Python列表操作——模拟实现栈和队列的更多相关文章

  1. Python列表操作大全(非常全)

    Python列表操作大全(非常全!!!) 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且 ...

  2. python第七篇:Python 列表操作详解

    Python列表操作详解 list函数 list()   #生成一个空的列表 list(iterable)  #用可迭代对象初始化一个列表 列表的 and 运算和 or 运算 列表and运算 > ...

  3. python列表操作大全

    Python列表操作大全 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列 ...

  4. Python列表操作集合

    对于python列表里元素的操作主要分为以下几个方面: 1.向列表里面加元素: 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定 ...

  5. Python列表操作与深浅拷贝(5)——数字处理函数、类型判断、列表链表队列栈

    python内建数据结构 分类 数值型: int float complex bool 序列对象: 字符串str 列表list 元组tuple 键值对: 集合set 字典dict 数值型 (list ...

  6. python列表操作总结

    list是python中非常重要的类型/数据结构,总结如下: 符号说明 l:列表 l2:新列表 e:元素 index:位置 方法: 原地修改: l.append(e) l.insert(index, ...

  7. python threading模块使用 以及python多线程操作的实践(使用Queue队列模块)

    今天花了近乎一天的时间研究python关于多线程的问题,查看了大量源码 自己也实践了一个生产消费者模型,所以把一天的收获总结一下. 由于GIL(Global Interpreter Lock)锁的关系 ...

  8. Python :用两个栈实现队列

    转自:http://blog.csdn.net/Lynette_bb/article/details/75092745 牛客网上的剑指 offer的在线编程: 题目描述 用两个栈来实现一个队列,完成队 ...

  9. Python列表操作常用API

    1.列表的概念 (1)列表的定义 列表是Python中一种基本的数据结构.列表存储的数据,我们称为元素.在列表中的每个元素都会有一个下标来与之对应,第一个索引是0,第二个索引是1,依此类推的整数. 列 ...

随机推荐

  1. yii2 利用小部件生成后台左边菜单栏

    ************   模型层递归查询权限   ************ /**     * 递归方式查询权限     */    public function getPrivilege()  ...

  2. Qt中使用随机数

    新建Empty qmake project,命名为UseRand UseRand.pro SOURCES += \ main.cpp QT += core main.cpp #include < ...

  3. two Sum ---- LeetCode 001

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  4. Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories.

    修改settings.xml: <mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> < ...

  5. 【LEETCODE OJ】Candy

    Problem link: http://oj.leetcode.com/problems/candy/ Suppose we are given an array R[1..N] that are ...

  6. 4 Values whose Sum is 0_upper_bound&&ower_bound

    Description The SUM problem can be formulated as follows: given four lists A, B, C, D of integer val ...

  7. C#基础指针类型

    在C#的不安全的代码书写中,类型可以是指针类型.值类型或引用类型. 指针类型声明具有下列形式之一:   type* identifier; void* identifier; //allowed bu ...

  8. [转]Golang之struct类型

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22312037&id=3756923 一.struct        ...

  9. alpha阶段总结 说明

    其实alpha阶段总结那个博客,我们团队已经做过了,只是那个博客的名字不叫alpha阶段总结,是叫第一个sprint与第二个sprint阶段总结.里面详细包含了我们的alpha版本的介绍,与那时的团队 ...

  10. Java 返回一个整数的各个数字之和的一种方法

    public static long sumDigits(long n){ long total=0; long number=n; while(number!=0){ total=total+num ...