python有栈的概念吗,python技术栈有哪些
Stack也叫栈,是一个线性表,操作有限。它可以通过使用列表在Python中实现。
什么是栈?
Stack也叫栈,是一个线性表,操作有限。限制是只允许在表的一端执行插入和删除操作。一端称为栈顶,另一端称为栈底。向堆栈中插入新元素也称为push、push或push。它把新元素放在堆栈的顶部,使它成为一个新的顶部元素。从堆栈中删除一个元素也称为创建堆栈或撤销堆栈。就是删除栈顶元素,使其相邻元素成为新的顶元素。
如何实现?
使用Python中的列表来实现:
#!/usr/bin/envpython
#定义一个列表来模拟堆栈
stack=[]
#推入堆栈,调用列表的append()函数将其添加到列表的末尾。strip()没有参数,即删除前导和尾随空格。
defpushit():
stack . append(raw _ input( enter newstring : )。strip())
#使用pop()函数从堆栈中取出
defpopit():
iflen(stack)==0:
打印“Cannotpopfromanemptystack!
else:
printRemoved[,stack.pop(),]
#日历堆栈
defviewstack():
打印堆栈
#CMDs是字典的用法
CMDs={u:pushit, o:popit, v:viewstack}
#pr是提示字符。
defshowmenu():
pr=
(美)嘘
专业人员
观点
(Q)uit
输入选择:
whileTrue:
whileTrue:
尝试:
#使用strip()删除空格,然后将第一个字符转换为小写。
选择=原始输入(pr)。strip()[0]。下部()
(EOFError,KeyboardInterrupt,IndexError):除外
choice=q
打印 n您选择的:[% s] %选择
ifchoicenoting uovq :
打印“无效选项,重试”
else:
破裂
#CMDs[]根据输入的选择从字典中对应对应的值,比如输入u,从字典中获取值作为pushit,执行pushit () push操作。
ifchoice==q:
破裂
CMDs[选择]()
#确定它是否从此文件进入而不是被调用。
if__name__==__main__:
showmenu()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。