python中的栈指的是什么

互联网 19-7-2

栈(stack)是一个项的有序集合,其中添加移除新项总发生在同一端。这一端通常称为“顶部”。与顶部对应的端称为“底部”。

LIFO

LIFO,即后进先出的排序原则。它基于在集合内的时间长度做排序。较新的项靠近顶部,较旧的项靠近底部。栈的底部很重要,因为在栈中靠近底部的项是存储时间最长的。最近添加的项是最先会被移除的。

Python实现栈

# 创建一个空的新栈。 它不需要参数,并返回一个空栈。 class Stack:     def __init__(self):         self.items = []              # 测试栈是否为空。不需要参数,并返回布尔值。     def isEmpty(self):         return self.items == []          # 将一个新项添加到栈的顶部。它需要 item 做参数并不返回任何内容。     def push(self, item):         self.items.append(item)              # 从栈中删除顶部项。它不需要参数并返回 item 。栈被修改。     def pop(self):         return self.items.pop()          # 从栈返回顶部项,但不会删除它。不需要参数。 不修改栈。     def peek(self):         return self.items[len(self.items)-1]          # 返回栈中的 item 数量。不需要参数,并返回一个整数。     def size(self):         return len(self.items)

将十进制数转换为任意进制数

知道了栈的基本操作就做一个小项目来练练手。将十进制数转换为任意进制数,其实最高也就十六进制(还有更高进制吗)。

def baseConverter(n, base):          # n是输入的十进制数字,base为要转化的进制数     digits = '0123456789ABCDEF'          #创建一个新栈     s= Stack()          # 将每次计算所得的余数添加进栈     while n> 0:         rem = n % base         s.push(rem)         n = n // base          # 将余数倒序排列至新字符串         newString = ''     while not remstack.isEmpty():         newString = newString + digits[remstack.pop()]              return newString

相关推荐:《Python教程

以上就是python中的栈指的是什么的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: Python
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:python自动化运维是干什么的

相关资讯