首頁  >  文章  >  後端開發  >  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