如何在Python中通过索引从列表中删除元素?

如何在Python中通过索引从列表中删除元素?

在本文中,我们将展示如何使用Python按索引删除列表中的元素。在这里,我们看到了4种完成此任务的方法-

  • 使用del关键字从列表中删除元素

  • 使用pop()函数从列表中删除元素

  • 使用切片从列表中删除元素

  • 使用索引从列表中删除多个元素

假设我们有一个包含一些元素的列表。我们将使用上述指定的方法通过给定的索引值删除列表中的特定项。

阅读更多:Python 教程

方法1:使用del关键字从列表中删除元素

以下是执行所需任务的要遵循的算法/步骤 –

算法(步骤)

  • 创建一个变量来存储输入列表

  • 输入要删除列表项的索引

  • 使用del关键字删除给定索引处的列表项。

  • 删除指定的列表项后打印列表。

语法

"del list object [index]"
Python

这是一个命令,可根据其索引位置从列表中删除项目。

如果列表为空或指定的索引超出范围,则del关键字将引发IndexError。

示例

以下程序返回使用del关键字删除指定索引列表元素后的列表 –

#输入列表
inputList=["欢迎","到","tutorialspoint","python"]

#输入要删除列表项的索引
givenIndex=3

#使用del关键字删除给定索引处的列表项
delinputList[givenIndex]

#删除指定列表项后打印列表
print("删除指定列表项后的列表:",inputList)
Python

输出

List after deleting specified list item: ['Welcome', 'to', 'tutorialspoint']
Python

方法2:使用pop()函数从列表中删除元素

算法(步骤)

以下是执行所需任务的要遵循的算法/步骤 –

  • 将给定索引作为参数传递给 pop() 函数(此处pop()函数删除列表中给定索引处的元素)

  • 删除指定的列表项后打印列表。

示例

以下程序返回使用pop()函数删除指定索引列表元素后的列表 –

inputList=["欢迎","到","tutorialspoint","python"]
givenIndex=1

#将索引传递给pop函数,以删除该索引处的列表元素
inputList.pop(givenIndex)

#删除输入索引处的项目后打印列表
print("在输入索引处删除项目后的列表:")
print(inputList)
Python

输出

删除列表中已输入索引的项后:
['Welcome', 'tutorialspoint', 'python']
Python

方法3:使用切片从列表中删除元素

可以使用切片从原始输入列表中删除给定索引处的项,从而创建一个新列表。

将列表分成三部分,以删除索引N处的元素。

  • 范围从0到N-1的项

  • N处的项

  • 范围从N+1的起始值开始并一直延伸到列表的末尾的项。

算法(步骤)

执行所需任务的算法/步骤如下所述−

  • 创建一个变量来存储输入列表

  • 使用 切片 存储给定索引之前和之后的列表元素,这意味着它会删除给定索引处的项。

  • 打印删除指定列表项后的列表

示例

inputList = ["Welcome", "to", "tutorialspoint", "python"]
givenIndex = 3

#使用切片来移除给定索引处的项,存储给定索引之前和之后的列表元素
inputList = inputList[:givenIndex] + inputList[givenIndex+1:]

#打印删除已输入的索引处的项目后的列表
print("删除列表中已输入索引的项后:\n", inputList)
Python

输出

删除列表中已输入索引的项后:
['Welcome', 'to', 'tutorialspoint']
Python

方法4:从列表中删除多个索引元素

算法(步骤)

执行所需任务的算法/步骤如下所述

  • 创建一个变量来存储输入列表

  • 输入要删除项目的索引列表

  • 使用 sorted() 函数(返回给定可迭代对象的排序列表。如果reverse=True,则以降序排列,如果reverse=False,则以升序排列。默认值为False,即升序)对给定的索引列表按逆序排序,通过传递给定的索引列表和reverse=True作为参数来实现。

  • 使用 for 循环遍历给定的索引列表

  • 使用 if 条件语句,检查相应的迭代器索引是否小于带 len() 函数的列表长度(len()方法返回对象中的项目数量)

  • 如果条件为真,使用 pop() 函数从相应的索引处移除目标项。

  • 打印删除给定索引处的项目后的列表。

示例

inputList = ["Welcome", "to", "tutorialspoint", "python"]

# 输入要删除项的索引列表
givenIndices = [1, 3]

# 反转索引列表
indicesList = sorted(givenIndices, reverse=True)

# 在索引列表中遍历
for indx in indicesList:

   # 检查相应的迭代器索引是否小于列表长度
   if indx < len(inputList):

      # 使用pop()函数按索引删除元素
      inputList.pop(indx)

# 删除给定索引处的项后打印列表
print("List after deleting items at the given indices:\n", inputList)
Python

输出

List after deleting items at the given indices : 
['Welcome', 'tutorialspoint']
Python

结论

在本文中,我们学习了四种不同的通过索引从列表中删除元素的方法。我们还学习了如何使用pop()和sorted()函数从列表中删除多个索引元素。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册