鱼C论坛

 找回密码
 立即注册
查看: 1118|回复: 6

[已解决]push函数?

[复制链接]
发表于 2022-5-25 14:27:58 | 显示全部楼层 |阅读模式

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

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

x
class Stack():
    def __init__(self, start=[]):
        self.stack = []
        for x in start:
            self.push(x)

请问,这个push函数是啥意思,我查了半天没有查清楚
最佳答案
2022-5-25 21:57:38


从代码上看,这是想用 Python 实现  栈 数据结构,而 栈 数据结构的基本方法中 push 就是其中之一,可称为“压栈”

这个函数的作用主要是将元素压入栈中,这里你 __init__ 初始化函数进行了调用

就是将你创造栈实例对象时传入的列表,通过 for 循环压栈,将列表中一个个元素压入栈中,达到初始化栈的作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-25 16:15:05 From FishC Mobile | 显示全部楼层
肯定是你没写全,贴代码还搞保密。肯定是类中还有一个push函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 21:45:03 | 显示全部楼层
你写的是一个叫做栈的数据结构,push是把输入加入栈的方法。栈主要有这些方法:
size():查看栈的大小,也就是有多少项数据;
is_empty():检查栈是否为空,空返回True,否则返回False;
pop():弹出栈顶的数据;
push():把数据添加到栈顶。

另外,不要用空列表作为默认参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-5-25 21:57:38 | 显示全部楼层    本楼为最佳答案   


从代码上看,这是想用 Python 实现  栈 数据结构,而 栈 数据结构的基本方法中 push 就是其中之一,可称为“压栈”

这个函数的作用主要是将元素压入栈中,这里你 __init__ 初始化函数进行了调用

就是将你创造栈实例对象时传入的列表,通过 for 循环压栈,将列表中一个个元素压入栈中,达到初始化栈的作用

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-5-25 23:21:56 | 显示全部楼层
qq1151985918 发表于 2022-5-25 16:15
肯定是你没写全,贴代码还搞保密。肯定是类中还有一个push函数

emmmm误会,没啥保密的,这是小甲鱼的课后习题,太长了,贴上来太多了怕大家不想看
你说的确实有道理,后面还有一个push函数我没注意到,init中以前练习的时候都只是对属性进行操作,没想到还能调用类中定义的方法
谢谢解惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 23:36:31 | 显示全部楼层
Twilight6 发表于 2022-5-25 21:57
从代码上看,这是想用 Python 实现  栈 数据结构,而 栈 数据结构的基本方法中 push 就是其中之一,可 ...

   def push(self, obj):  # 入栈
       print("成功入栈数据:", obj)
       self.stack.append(obj)
push函数长这样;
但是我依旧不能明白__init__中为什么这里要放push函数,这里的push不是多此一举吗,直接self.stack = start不就好了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-26 09:13:11 | 显示全部楼层
Jerry~Mouse 发表于 2022-5-25 23:36
def push(self, obj):  # 入栈
       print("成功入栈数据:", obj)
       self.stack.append(obj ...



因为这样设计才符合 栈 数据结构,你直接列表赋值就没有体现压栈这个过程了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 12:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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