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)
步骤
- 首先定义一个列表。
-
通过使用索引号替换值。
-
将列表打印到输出中。
示例
以下程序替换列表中的一个元素。原始列表包括“TV”、“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循环的工作。我们首先在while循环中定义一个值为0的变量,并遍历列表。如果值与我们要更改的值匹配,旧值将被替换。
步骤
- 首先定义列表。
-
定义一个变量。
-
应用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”中。
然后,使用列表切片,我们将该项更换为新的值。如果我们希望将”Replication”替换为”Radiation”,我们必须首先确定”Replication”的索引,然后使用列表切片将”Replication”取出并替换为”Radiation”。
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函数的匿名特性意味着它们没有名字。正如我们已经知道的那样,使用def关键字定义一个标准的Python函数。类似于此,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函数中,我们将”Replication”换成”Radiation”。然后使用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语言替换元素的五种不同方式。