最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python中的栈指的是什么

来源:动视网 责编:小采 时间:2020-11-27 14:06:34
文档

python中的栈指的是什么

python中的栈指的是什么:栈(stack)是一个项的有序集合,其中添加移除新项总发生在同一端。这一端通常称为顶部。与顶部对应的端称为底部。就像图片所描述的,栈s=(a1,a2,…an-1,an)。最后入栈的是an,最先出栈的也是an。所以栈符合LIFO原则。LIFOLIFO,即后进先出的
推荐度:
导读python中的栈指的是什么:栈(stack)是一个项的有序集合,其中添加移除新项总发生在同一端。这一端通常称为顶部。与顶部对应的端称为底部。就像图片所描述的,栈s=(a1,a2,…an-1,an)。最后入栈的是an,最先出栈的也是an。所以栈符合LIFO原则。LIFOLIFO,即后进先出的


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

就像图片所描述的,栈s=(a1,a2,…an-1,an)。最后入栈的是an,最先出栈的也是an。所以栈符合LIFO原则。

LIFO

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

栈之所以重要是因为它能反转项的顺序。插入跟删除顺序相反。

最典型的例子就是每个 web 浏览器都有一个返回按钮。当你浏览网页时,这些网页被放置在一个栈中(实际是网页的网址)。你现在查看的网页在顶部,你第一个查看的网页在底部。如果按‘返回’按钮,将按相反的顺序浏览刚才的页面。

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中的栈指的是什么:栈(stack)是一个项的有序集合,其中添加移除新项总发生在同一端。这一端通常称为顶部。与顶部对应的端称为底部。就像图片所描述的,栈s=(a1,a2,…an-1,an)。最后入栈的是an,最先出栈的也是an。所以栈符合LIFO原则。LIFOLIFO,即后进先出的
推荐度:
标签: 内的 python 栈的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top