鱼C论坛

 找回密码
 立即注册
查看: 1914|回复: 2

[已解决]Python中堆栈的特征,先进后出是什么意思

[复制链接]
发表于 2018-1-8 19:38:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
例如

//1.定义一个堆栈
list = ['1', '2' ,'3']

//2.使用print函数输出list
print(list)

为什么输出结果是['1', '2', '3'],不是应该是['3', '2', '1'],还是说先进后出指的是别的意思?求助各位大神
最佳答案
2018-1-8 21:25:54
对列表而言,举个例子来说明先进后出:
lst =[]
lst.append(1)
lst.append(2)
此时lst==[1,2]
lst.pop()
此时弹出的是2
再进行一次lst.pop()
此时弹出的是1

上面的一系列操作中,1是先加入列表,后被弹出列表,就对应着“先进后出”的概念
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-8 20:32:13 | 显示全部楼层
你好,

python中并没有直接定义了一个数据结构为stack,栈。而是使用list(列表)来模拟栈的先进后出的特性。先进后出也没有其他的意思。

如果将list作为stack使用,仅需要记住两个方法便可,即append(), pop(),分别是入栈出栈。

print()函数仅打印出对象的值,所以定义的list按照其值本身顺序输出。

参见:
https://docs.python.org/2/tutori ... ing-lists-as-stacks
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 21:25:54 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
对列表而言,举个例子来说明先进后出:
lst =[]
lst.append(1)
lst.append(2)
此时lst==[1,2]
lst.pop()
此时弹出的是2
再进行一次lst.pop()
此时弹出的是1

上面的一系列操作中,1是先加入列表,后被弹出列表,就对应着“先进后出”的概念
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-3 15:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表