首页  >  文章  >  后端开发  >  Python 的 `append()` 和 `=` 运算符在列表上使用时有何不同?

Python 的 `append()` 和 `=` 运算符在列表上使用时有何不同?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 12:24:46583浏览

How Do Python's `append()` and ` =` Operators Differ When Used on Lists?

理解列表上的 Python Append() 和 = 运算符之间的差异

append() 方法和 = 运算符在操作时表现不同列表。 append() 将给定元素添加到列表末尾,而 = 将操作数列表的元素连接到现有列表。

使用 =

的后果将 = 与列表一起用作操作数会产生一个将原始列表与操作数列表的元素组合在一起的新列表。例如:

<code class="python">c = [1, 2, 3]
c += c
print(c)  # [1, 2, 3, 1, 2, 3]</code>

使用append()进行递归

相反,append()将列表本身作为单个元素追加,这会导致无限递归,如果该列表将添加到其自身中。发生这种情况是因为通过 c[-1] 访问的列表的最后一个元素现在引用列表本身,从而创建递归循环。

<code class="python">c = [1, 2, 3]
c.append(c)
print(c)  # [1, 2, 3, [...]]  # infinite recursion</code>

替代选项:extend()

要将一个列表的元素追加到另一个列表,请使用extend() 方法。它就地修改原始列表,与创建新列表的 = 不同:

<code class="python">c = [1, 2, 3]
c.extend(c)
print(c)  # [1, 2, 3, 1, 2, 3]</code>

以上是Python 的 `append()` 和 `=` 运算符在列表上使用时有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn