在 Python 中向列表(數組)添加元素:append()、extend()、insert()

商業

要在 Python 中將元素添加到 list 類型的列表(數組),或組合另一個列表,請使用列表方法 append()、extend() 和 insert()。您還可以使用 + 運算符或切片來指定位置並分配它。

此處提供了以下信息。

  • 在最後添加元素:append()
  • 在末尾合併另一個列表或元組(連接):extend(),+操作員
  • 在指定位置添加(插入)一個元素。:insert()
  • 在指定位置添加(插入)另一個列表或元組:

在最後添加元素:append()

使用列表的 append() 方法,您可以將元素添加到末尾(最後)。如果要將其添加到末尾以外的位置,例如頂部,請使用 insert(),如下所述。

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

列表也作為單個元素添加。它們沒有組合在一起。

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

在末尾合併另一個列表或元組(連接):extend(),+操作員

使用列表方法extend(),您可以在末尾(末尾)組合另一個列表或元組。所有元素都將附加到原始列表的末尾。

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

請注意,每個字符(元素)一次添加一個字符。

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

也可以使用 + 運算符而不是 extend() 方法進行連接。

+ 運算符,返回一個新列表。+=這也將允許您將其添加到現有列表中。

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

在指定位置添加(插入)一個元素。:insert()

列表方法 insert() 可以在指定位置添加(插入)元素。

第一個參數指定位置,第二個參數指定要插入的元素。第一個(初始)位置是 0;對於負值,-1 是最後一個(最終)位置。

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

與 append() 一樣,列表作為單個元素添加。它不會被合併。

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

請注意, insert() 不是一種有效的操作,因為它需要以下成本。有關各種列表操作的計算複雜性,請參閱官方 wiki 上的以下頁面。
O(n)

O(1)
deque 類型在標準庫集合模塊中作為一種類型提供,以這種方式將元素添加到頂部。例如,如果要將數據視為隊列(FIFO),則使用 deque 效率更高。

在指定位置添加(插入)另一個列表或元組:片

如果您使用切片指定範圍並分配另一個列表或元組,則將添加(插入)所有元素。

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

您也可以替換原始元素。指定範圍內的所有元素都將被替換。

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Copied title and URL