清单上的Python append()与+运算符,为什么它们给出不同的结果?

清单上的Python append()与+运算符,为什么它们给出不同的结果?,第1张

清单上的Python append()与+运算符,为什么它们给出不同的结果? 解释“为什么”:

+
*** 作数组元素添加到原始数组。该
array.append
*** 作将数组(或任何对象)插入原始数组的末尾,从而导致对该点的
self引用 (因此无限递归)。

此处的区别在于,通过连接元素来添加数组时,+ *** 作的作用是特定的(与其他数组一样重载,请参见本章的序列)。但是,append-
method确实按照您的要求进行 *** 作:将对象附加在您赋予它的右侧(数组或任何其他对象),而不是获取其元素。

替代

使用

extend()
,如果你想使用的作用类似于+运算符的功能(如其他人在这里显示为好)。相反,这样做是不明智的:尝试使用+运算符模仿列表的追加(有关原因,请参阅我之前的链接)。

小历史

有趣的是,有一段历史:1993年2月Python中的数组模块的诞生。这也许会让您感到惊讶,但是在序列和列表出现之后才添加了数组。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存