您的位置:

如何在 Python 中从列表中移除元素

Python 提供了以下方法来移除一个或多个元素。通过指定索引位置,我们可以使用 del 关键字删除元素。让我们了解以下方法。

  • 移除()
  • 流行音乐()
  • 清除()
  • 是吗
  • 列表推导-如果指定的条件匹配。

remove()方法

remove()方法用于从列表中移除指定的值。它接受项目值作为参数。让我们理解下面的例子。

示例-


list1 = ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
print("The list is: ", list1)

list1.remove('Joseph')
print("After removing element: ",list1)

输出:

The list is:  ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
After removing element:  ['Bob', 'Charlie', 'Bob', 'Dave']

如果列表包含多个同名项目,它将删除该项目的第一个匹配项。

示例-


list1 = ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
print("The list is: ", list1)

list1.remove('Bob')
print("After removing element: ",list1)

输出:

The list is:  ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
After removing element:  ['Joseph', 'Charlie', 'Bob', 'Dave']

pop()方法

pop() 方法删除指定索引位置的项目。如果我们没有指定索引位置,那么它将从列表中删除最后一项。让我们理解下面的例子。

示例-


list1 = ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
print("The list is: ", list1)

list1.pop(3)
print("After removing element: ",list1)

# index position is omitted
list1.pop()
print("After removing element: ",list1)

输出:

The list is:  ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
After removing element:  ['Joseph', 'Bob', 'Charlie', 'Dave']
After removing element:  ['Joseph', 'Bob', 'Charlie']

我们也可以指定负指数位置。索引-1 代表列表的最后一项。

示例-


list1 = ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
print("The list is: ", list1)

# Negative Indexing
list1.pop(-2)
print("After removing element: ",list1)

输出:

The list is:  ['Joseph', 'Bob', 'Charlie', 'Bob', 'Dave']
After removing element:  ['Joseph', 'Bob', 'Charlie', 'Dave']

clear()方法

clear()方法从列表中移除所有项目。它返回空列表。让我们理解下面的例子。

示例-


list1 = [10, 20, 30, 40, 50, 60]
print(list1)

# It will return the empty list
list1.clear()
print(list1)

输出:

[10, 20, 30, 40, 50, 60]
[]

德尔声明

我们可以使用 del 关键字删除列表项。它删除指定的索引项。让我们理解下面的例子。

示例-


list1 = [10, 20, 30, 40, 50, 60]
print(list1)

del list1[5]
print(list1)

del list1[-1]
print(list1)

输出:

[10, 20, 30, 40, 50, 60]
[10, 20, 30, 40, 50]
[10, 20, 30, 40]

它可以删除整个列表。


del list1
print(list1)

输出:

Traceback (most recent call last):
  File "C:/Users/DEVANSH SHARMA/PycharmProjects/Practice Python/first.py", line 14, in print(list1)
NameError: name 'list1' is not defined 

我们也可以使用带有切片操作符的 del 从列表中删除多个项目。让我们理解下面的例子。

示例-


list1 = [10, 20, 30, 40, 50, 60]
print(list1)

del list1[1:3]
print(list1)

del list1[-4:-1]
print(list1)

del list1[:]
print(list1)

输出:

[10, 20, 30, 40, 50, 60]
[10, 40, 50, 60]
[60]
[] 

使用列表推导

列表推导与从列表中移除项目的方式略有不同。它删除那些满足给定条件的项目。例如-要从给定列表中删除偶数,我们将条件定义为 i % 2,它将给出提醒 2,并删除提醒为 2 的项目。

让我们理解下面的例子。

示例-


list1 = [11, 20, 34, 40, 45, 60]
# Remove the odd numbers
print([i for i in list1 if i % 2 == 0])
#Remove the even numbers
print([i for i in list1 if i % 2 != 0])

输出:

[20, 34, 40, 60]
[11, 45]