📅  最后修改于: 2020-10-29 01:00:37             🧑  作者: Mango
Python提供了以下方法来删除一个或多个元素。我们可以通过指定索引位置来使用del关键字删除元素。让我们了解以下方法。
remove()方法用于从列表中删除指定的值。它接受item值作为参数。让我们了解以下示例。
范例-
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()方法删除指定索引位置的项目。如果我们没有指定索引位置,那么它将从列表中删除最后一项。让我们了解以下示例。
范例-
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()方法从列表中删除所有项目。它返回空列表。让我们了解以下示例。
范例-
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
我们还可以使用带有slice运算符的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]