python有栈的概念吗,python技术栈有哪些

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: