如何在 Python 列表中替換一個元素
Azaz Farooq
2023年10月10日
- 用列表索引方法查詢和替換 Python 列表元素
-
用
for
迴圈方法查詢和替換 Python 列表中的元素 - 用列表推導方法查詢和替換 Python List 元素
-
用
map
方法查詢並替換 Python 列表元素 - まとめ
![如何在 Python 列表中替換一個元素](/img/Python/feature-image---python-list-replace-element.webp)
我們可以用多種方式替換 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]
まとめ
- 當我們替換列表中的一個元素時,列表索引法是好的。
- 當我們根據選擇性標準替換一個列表中的多個元素時,列表推導式是正確的選擇。
- 不鼓勵使用迴圈法,因為它需要更多的執行時間和記憶體。