栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

为什么python列表具有pop()但没有push()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么python列表具有pop()但没有push()

因为“ append”早在想到“ pop”之前就已存在。受Python
0.9.1
支持的list.append于1991年初。通过比较,这是在comp.lang.python上讨论的有关在1997年添加pop的一部分。Guido写道:

为了实现一个堆栈,需要添加一个list.pop()原语(不,基于任何原则,我都不反对这个特定的堆栈)。可以添加list.push()使其与list.pop()对称,但是我不太喜欢针对同一操作使用多个名称-
早晚要读取使用另一个名称的代码,所以您需要同时学习两者,这会增加认知负担。

您还可以看到他讨论了是否应该在元素[0]或元素[-1]之后或在元素[-1]之后发布推/弹出/放/拉的想法,在那里他发布了对Icon列表的引用:

我仍然认为最好将所有这些都排除在列表对象实现之外-如果您需要具有特定语义的堆栈或队列,请编写一个使用列表的小类

换句话说,对于直接实现为Python列表的堆栈,该堆栈已经支持快速的append()和del list
[-1],默认情况下list.pop()在最后一个元素上起作用是有意义的。即使其他语言的处理方式有所不同。

这里的隐含含义是,大多数人都需要追加到列表,但是很少有人有机会将列表视为堆栈,这就是为什么list.append出现得这么早的原因。



转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/639939.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号