Python程序替换列表中的元素


在Python中,可以使用列表将多个项目保存在单个变量中。列表是Python中用于存储数据集合的四种内置数据类型之一,另外三种是元组、集合和字典,每种都有其独特的用途。

什么是列表?

使用方括号创建列表。列表是Python中最强大的工具,因为它们不一定是同构的。一个列表中可以包含整数、字符串和对象等数据类型。由于列表是可变的,因此即使在创建后也可以对其进行更改。

Python列表的主要特性之一是能够包含重复的值。这允许我们循环遍历列表的项目并确定每个项目的值。如果该值需要替换,则进行替换。

在本文中,我们将学习使用Python程序替换列表中元素的六种方法。

使用for循环

Python的for循环用于以顺序方式迭代字符串、元组、列表、集合或字典等可迭代对象。因此,我们将在此处使用的for循环将迭代给定的列表并替换列表中的值或元素。例如,我们在列表中取两个元素,例如“咖啡”和“茶”。现在,我们想用“果汁”和“莱姆苏打”替换它们。为了完成这项任务,我们将使用for循环和if条件来替换元素。

算法

  • 首先定义列表。

  • 使用for循环创建一个范围,即要迭代的元素列表。

  • 使用if语句替换元素。

  • 打印输出列表。

示例

在下面的程序中,定义了一个元素列表。然后,对于列表中的每个元素,if语句检查它是否与“咖啡”或“茶”匹配。

如果是,则该元素分别被“果汁”或“莱姆苏打”替换。最后,打印新的列表。

# First define a list of elements
list_1 = ['Coffee', 'Sting', 'Maza', 'Tea', 'Tea']
for i in range(len(list_1)):
   
   # if statement for replacing elements
   if list_1[i] == 'Coffee':
      list_1[i] = 'Fruit juice'
   # if statement for replacing elements
      if list_1[i] == 'Tea':
         list_1[i] = 'Lime soda'
print(list_1)

输出

['Fruit juice', 'Sting', 'Maza', 'Lime soda', 'Lime soda']

使用列表索引

可以使用索引访问列表的条目。这是在Python中替换列表中元素最简单直接的方法。利用索引0,我们可以更改列表中的第一个项目。

在下面的示例中,新值是要替换列表中先前值的值,索引是我们想要更改的项目的索引。

语法

list_1[index]= Replaced value
(Replaced value= new value)

算法

  • 首先定义列表。

  • 使用索引号替换值。

  • 打印输出列表。

示例

下面的程序替换列表中的一个元素。原始列表包含“电视”、“STD”和“WIFI”。打印完整列表后,第二个元素“STD”被值“手机”替换。

# first define a list of elements
list_1 = ['Television', 'STD', 'WIFI']

# replacing elements using index
list_1[1]= 'Mobile phone'
print(list_1)

输出

['Television', 'Mobile phone', 'WIFI']

使用while循环

为了替换列表中的值,我们也可以使用while循环。while循环重复for循环的工作。我们首先定义一个值为0的变量,并在while循环中遍历列表。如果值与我们想要更改的值匹配,则替换旧值。

算法

  • 首先定义列表。

  • 定义一个变量。

  • 应用while循环。

  • 如果变量值与列表中的值匹配,它将替换元素。

  • 打印输出列表。

示例

在下面的程序中,创建了一个包含四个元素的列表。while循环迭代列表中的项目,如果一个项目等于'VIVO',它将被'OPPO'替换。然后打印修改后的列表。

# first define a list
list_1 = ['REALME', 'REDME', 'APPLE', 'VIVO']
i = 3
while i < len(list_1):

   # replace VIVO with OPPO from the list
   if list_1[i] == 'VIVO':
      list_1[i] = 'OPPO'
   i += 1
print(list_1)

输出

['REALME', 'REDME', 'APPLE', 'OPPO']

使用列表切片

在Python中,必须切片列表才能访问其元素的特定子集。使用冒号是一种简单的切片运算符(:)。借助此运算符,可以声明步长以及切片的起点和终点。列表切片从原始列表生成一个新列表。

语法

list_1 = list_1[: index]+[‘N_V’]+list_1[index+1:]
 *(N_V= new value)

算法

  • 首先定义列表

  • 下一步是找到要替换元素的索引

  • 使用列表切片替换元素。

  • 打印输出列表。

示例

在这里,Python为我们提供了对列表进行切片的选择。由于切片,我们可以访问列表的某些组件。切片允许我们替换列表中的元素。我们首先找到我们要替换的变量的索引并将其存储在变量“i”中。

然后,使用列表切片,我们将该项目替换为一个新值。如果我们想用“辐射”替换“复制”,我们必须首先找到“复制”的索引,然后执行列表切片以取出“复制”并将其替换为“辐射”。

list_1 = ['Heat', 'Replication', 'Induction', 'Conduction', 'Precipitation']
i = list_1.index('Replication')
list_1 = list_1[:i]+['Radiation']+list_1[i+1:]
print(list_1)

输出

['Heat', 'Radiation', 'Induction', 'Conduction', 'Precipitation']

使用Lambda函数

Python Lambda函数的匿名性表明它们没有名称。正如我们已经知道的,标准Python函数是使用def关键字定义的。类似地,Python使用lambda关键字定义匿名函数。

无论参数数量多少,此函数中只有一个表达式被求值并返回。

Lambda函数可以在需要函数对象的地方使用。必须始终记住,lambda函数在语法上仅限于单个表达式。

语法

list_1=list(map(lambda x: x.replace(‘O_V’,’N_V’),list_1))

算法

  • 定义一个列表。

  • 使用lambda和map函数替换值。

  • 打印列表作为输出。

示例

在这里,为了使用这种方式替换列表中的元素,我们使用了lambda和map函数。Python有一个内置方法map(),允许您在不使用循环语句的情况下遍历列表。

作为替换值的条件,我们在这里提供了一个表达式。在这里,在lambda函数中,我们将“复制”替换为“辐射”。然后使用list()函数将map对象转换为列表。

list_1 = ['Heat', 'Replication', 'Induction', 'Conduction', 'Precipitation']
list_1 = list(map(lambda x: x.replace('Replication', 'Radiation'), list_1))
print(list_1)

输出

['Heat', 'Radiation', 'Induction', 'Conduction', 'Precipitation']

结论

在本文中,我们简要解释了五种使用Python语言替换元素的不同方法。

更新于:2023年4月24日

1K+ 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.