HOWTO · Python

如何在 Python 列表中替換一個元素

在 Python list 中,元素以不同的方式被其他數字所替代。我們使用列表索引、for 迴圈、列表推導和 map 函式等方法來實現這一目的。

本頁內容

我們可以用多種方式替換 Python 列表中的元素。我們可以使用 Python 列表元素索引、for 迴圈、對映函式和列表推導方法。

本文將討論上述方法來查詢和替換 Python 列表元素。

用列表索引方法查詢和替換 Python 列表元素

讓我們以下面的列表為例,將索引 0 處的元素從 5 改為 20。

my_list = [5, 10, 7, 5, 6, 8, 5, 15]

我們將把索引 0 處的元素從 5 改為 20。

示例程式碼如下。

my_list = [5, 10, 7, 5, 6, 8, 5, 15]
my_list[0] = 20

print(my_list)

輸出:

[20, 10, 7, 5, 6, 8, 5, 15]

用 for 迴圈方法查詢和替換 Python 列表中的元素

我們在這個方法中使用 enumerate() 函式。它返回一個列舉物件,該物件也包含計數器和元素。當我們把 enumerate() 函式和 for 迴圈結合起來時,它對 enumerate 物件進行迭代,並把索引和元素一起得到。

程式碼是

my_list = [5, 10, 7, 5, 6, 8, 5, 15]
for index, value in enumerate(my_list):
    if value == 5:
        my_list[index] = 9

print(my_list)

輸出:

[9, 10, 7, 9, 6, 8, 9, 15]

用列表推導方法查詢和替換 Python List 元素

在此方法中,我們可以通過在舊列表上應用預先定義的條件來生成一個新的列表。

語法是:

my_list = [5, 10, 7, 5, 6, 8, 5, 15]

[9 if value == 5 else value for value in my_list]

print(my_list)

輸出:

[9, 10, 7, 9, 6, 8, 9, 15]

用 map 方法查詢並替換 Python 列表元素

本方法用第一個列表項的索引改變第二個列表項的元素。

程式碼是:

list_1 = [5, 10, 7]
list_2 = [7, 10, 7, 5, 7, 5, 10]

ent = {k: i for i, k in enumerate(list_1)}
result = list(map(ent.get, list_2))

print("list2 after replacement is:", result)

輸出:

list2 after replacement is: [2, 1, 2, 0, 2, 0, 1]

まとめ

  1. 當我們替換列表中的一個元素時,列表索引法是好的。
  2. 當我們根據選擇性標準替換一個列表中的多個元素時,列表推導式是正確的選擇。
  3. 不鼓勵使用迴圈法,因為它需要更多的執行時間和記憶體。