📜  如何在Python中替换列表中的值?

📅  最后修改于: 2022-05-13 01:54:46.847000             🧑  作者: Mango

如何在Python中替换列表中的值?

在本文中,我们将了解如何使用Python替换 List 中的值。我们可以用多种方式替换列表中的值。以下是替换列表中值的方法。

  • 使用列表索引
  • 使用 for 循环
  • 使用 while 循环
  • 使用 lambda函数
  • 使用列表切片

方法一:使用列表索引

我们可以使用索引访问列表中的项目。这是在Python中替换列表中值的最简单和最简单的方法。如果我们想替换列表的第一项,我们可以使用索引 0。下面,索引是我们要替换的项目的索引,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()函数将地图对象转换为列表。

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”。

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']