如何在Python中替换列表中的值?
在本文中,我们将了解如何使用Python替换 List 中的值。我们可以用多种方式替换列表中的值。以下是替换列表中值的方法。
- 使用列表索引
- 使用 for 循环
- 使用 while 循环
- 使用 lambda函数
- 使用列表切片
方法一:使用列表索引
我们可以使用索引访问列表中的项目。这是在Python中替换列表中值的最简单和最简单的方法。如果我们想替换列表的第一项,我们可以使用索引 0。下面,索引是我们要替换的项目的索引,new_value 是应该替换列表中旧值的值。
Syntax: l[index]=new_value
代码:
Python3
# Replace Values in a List using indexing
# define list
l = [ 'Hardik','Rohit', 'Rahul', 'Virat', 'Pant']
# replace first value
l[0] = 'Shardul'
# print list
print(l)
Python3
# Replace Values in a List using For Loop
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
for i in range(len(l)):
# replace hardik with shardul
if l[i] == 'Hardik':
l[i] = 'Shardul'
# replace pant with ishan
if l[i] == 'Pant':
l[i] = 'Ishan'
# print list
print(l)
Python3
# Replace Values in a List using While Loop
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
i = 0
while i < len(l):
# replace hardik with shardul
if l[i] == 'Hardik':
l[i] = 'Shardul'
# replace pant with ishan
if l[i] == 'Pant':
l[i] = 'Ishan'
i += 1
# print list
print(l)
Python3
# Replace Values in a List using Lambda Function
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
# replace Pant with Ishan
l = list(map(lambda x: x.replace('Pant', 'Ishan'), l))
# print list
print(l)
Python3
# Replace Values in a List using Slicing
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
# find the index of Rahul
i = l.index('Rahul')
# replace Rahul with Shikhar
l = l[:i]+['Shikhar']+l[i+1:]
# print list
print(l)
输出:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']
方法二:使用 For 循环
我们可以使用 for 循环遍历列表并替换列表中的值。假设我们想用“Shardul”和“Ishan”替换列表中的“Hardik”和“Pant”。我们首先使用 for 循环和 if 条件在列表中查找值,然后将其替换为新值。
Python3
# Replace Values in a List using For Loop
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
for i in range(len(l)):
# replace hardik with shardul
if l[i] == 'Hardik':
l[i] = 'Shardul'
# replace pant with ishan
if l[i] == 'Pant':
l[i] = 'Ishan'
# print list
print(l)
输出:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
方法 3:使用 While 循环
我们还可以使用 while 循环来替换列表中的值。 While 循环的作用与 for 循环相同。首先在 while 循环中,我们定义一个值为 0 的变量并遍历列表。如果值与我们要替换的值匹配,那么我们将其替换为新值。
Python3
# Replace Values in a List using While Loop
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
i = 0
while i < len(l):
# replace hardik with shardul
if l[i] == 'Hardik':
l[i] = 'Shardul'
# replace pant with ishan
if l[i] == 'Pant':
l[i] = 'Ishan'
i += 1
# print list
print(l)
输出:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
方法四:使用 Lambda函数
在这个方法中,我们使用 lambda 和 map函数来替换列表中的值。 map() 是Python中的一个内置函数,用于在不使用任何循环语句的情况下迭代列表。 lambda 是Python中的一个匿名函数,它包含一个单行表达式。这里我们给出了一个表达式作为替换值的条件。在这里,我们将 lambda函数中的 'Pant' 替换为 'Ishan'。然后使用 list()函数将地图对象转换为列表。
Syntax: l=list(map(lambda x: x.replace(‘old_value’,’new_value’),l))
Python3
# Replace Values in a List using Lambda Function
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
# replace Pant with Ishan
l = list(map(lambda x: x.replace('Pant', 'Ishan'), l))
# print list
print(l)
输出:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']
方法五:使用列表切片
Python允许我们在列表中进行切片。切片使我们能够访问列表的某些部分。我们可以使用切片替换列表中的值。首先,我们找到要替换的变量的索引并将其存储在变量“i”中。然后,我们使用列表切片将该项替换为新值。假设我们想用“Shikhar”替换“Rahul”,而不是首先找到“Rahul”的索引,然后进行列表切片并删除“Rahul”并在该位置添加“Shikhar”。
Syntax: l=l[:index]+[‘new_value’]+l[index+1:]
Python3
# Replace Values in a List using Slicing
# define list
l = ['Hardik', 'Rohit', 'Rahul', 'Virat', 'Pant']
# find the index of Rahul
i = l.index('Rahul')
# replace Rahul with Shikhar
l = l[:i]+['Shikhar']+l[i+1:]
# print list
print(l)
输出:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']