如何在 Python 列表中替换一个元素

Azaz Farooq 2023年1月30日 2020年11月7日
  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