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

Azaz Farooq 2021年3月21日 2020年11月7日 Python Python List
  1. 用列表索引方法查詢和替換 Python 列表元素
  2. for 迴圈方法查詢和替換 Python 列表中的元素
  3. 用列表推導方法查詢和替換 Python List 元素
  4. map 方法查詢並替換 Python 列表元素
  5. 結論
如何在 Python 列表中替換一個元素

我們可以用多種方式替換 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. 不鼓勵使用迴圈法,因為它需要更多的執行時間和記憶體。

相關文章 - Python List

  • 在 Python 中將字典轉換為列表
  • 從 Python 列表中刪除某元素的所有出現
  • 在 Python 中從列表中刪除重複項
  • 如何在 Python 中獲取一個列表的平均值
  • Python 列表方法 append 和 extend 之間有什麼區別
  • 如何在 Python 中將列表轉換為字串