Python - 删除列表项



删除列表项

在 Python 中删除列表项意味着从现有列表中删除元素。列表是项目的有序集合,有时您需要根据特定条件或索引从中删除某些元素。当我们删除列表项时,我们会减小列表的大小或消除特定元素。

我们可以使用 remove()pop() 和 clear() 等各种方法在 Python 中删除列表项。此外,我们可以使用 del 语句删除特定索引中的项目。让我们在本教程中探索所有这些方法。

使用 remove() 方法删除列表项

Python 中的 remove() 方法用于从列表中删除指定项的第一个匹配项。

我们可以通过在括号内指定要删除的值来使用 remove() 方法删除列表项,例如 my_list.remove(value),它会从my_list中删除第一次出现的 value。

在下面的示例中,我们使用 remove() 方法从列表 “list1” 中删除元素 “Physics” -


list1 = ["Rohan", "Physics", 21, 69.75]
print ("Original list: ", list1)

list1.remove("Physics")
print ("List after removing: ", list1)

它将产生以下输出 -

Original list: ['Rohan', 'Physics', 21, 69.75]
List after removing: ['Rohan', 21, 69.75]

使用 pop() 方法删除列表项

Python 中的 pop() 方法用于删除并返回列表中的最后一个元素(如果未指定索引),或者删除并返回指定索引处的元素,从而更改原始列表。

我们可以使用 pop() 方法删除列表项,方法是调用不带任何参数的 my_list.pop(),这将删除并返回my_list中的最后一项,或者通过提供我们要删除的项的索引 my_list.pop(index) 来删除并返回该索引处的项目。

以下示例显示了如何使用 pop() 方法删除列表项 -


list2 = [25.50, True, -55, 1+2j]
print ("Original list: ", list2)
list2.pop(2)
print ("List after popping: ", list2)

我们得到的输出如下所示 -

Original list: [25.5, True, -55, (1+2j)]
List after popping: [25.5, True, (1+2j)]

使用 clear() 方法删除列表项

Python 中的 clear() 方法用于从列表中删除所有元素,使其为空。

我们可以使用 clear() 方法删除所有列表项,方法是在列表对象上调用它,例如 my_list.clear(),这会清空my_list,不留下任何元素。

在此示例中,我们使用 clear() 方法从列表 “my_list” 中删除所有元素 -


my_list = [1, 2, 3, 4, 5]

# Clearing the list
my_list.clear()
print("Cleared list:", my_list)

上述代码的输出如下 -

Cleared list: []

使用 del 关键字删除列表项

Python 中的 del 关键字用于从内存中删除特定索引或索引切片处的元素。

我们可以通过指定要删除的项目的索引或切片来使用 del 关键字删除列表项,例如 del my_list[index] 删除单个项目,del my_list[start:stop] 删除一系列项目。

在下面的示例中,我们使用 “del” 关键字从列表 “list1” 中删除索引 “2” 处的元素 −


list1 = ["a", "b", "c", "d"]
print ("Original list: ", list1)
del list1[2]
print ("List after deleting: ", list1)

生成的结果如下 -

Original list: ['a', 'b', 'c', 'd']
List after deleting: ['a', 'b', 'd']

在这里,我们将使用 slicing 运算符从列表中删除一系列连续的项目 -


list2 = [25.50, True, -55, 1+2j]
print ("List before deleting: ", list2)
del list2[0:2]
print ("List after deleting: ", list2)

它将产生以下输出 -

List before deleting: [25.5, True, -55, (1+2j)]
List after deleting: [-55, (1+2j)]