如何在 Python 列表中替换一个元素
Azaz Farooq
2023年10月10日
- 用列表索引方法查找和替换 Python 列表元素
-
用
for
循环方法查找和替换 Python 列表中的元素 - 用列表推导方法查找和替换 Python List 元素
-
用
map
方法查找并替换 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]
结论
- 当我们替换列表中的一个元素时,列表索引法是好的。
- 当我们根据选择性标准替换一个列表中的多个元素时,列表推导式是正确的选择。
- 不鼓励使用循环法,因为它需要更多的执行时间和内存。