Python – 删除指定索引元素后的列表打印


Python 语言是处理数据最强大的编程语言之一。列表是 Python 中多种数据结构类型的一种。列表可以容纳不同类型的数据对象,例如整数、字符串甚至浮点数。一旦赋值给列表的值之后,就不能再更改。列表中的元素使用索引值来标识,本文将讨论通过指定索引删除元素的方法。

删除指定索引元素后的列表打印

列表由元素组成,索引值从 0 开始到元素数量减一。从列表中删除元素可以用图示来解释。删除元素有多种方法。下面的列表包含 7 个元素,第一行表示元素的索引值,第二行包含元素的值。

删除索引“3”处的元素

要删除元素,我们需要找到列表数组的第三个索引,即“56”。删除该元素后,新的列表如下所示:

方法

  • 方法 1 - 使用 pop() 函数

  • 方法 2 - 使用 numpy 模块

  • 方法 3 - 使用 reduce 方法

方法 1:使用 pop() 函数删除指定索引元素后打印列表的 Python 程序

上述方法只需使用 pop() 函数即可从列表中删除元素。下面的代码可以使用 del() 函数替换 pop() 函数来删除元素。对于 remove() 方法,通过直接将元素作为函数参数来删除元素。

算法

  • 步骤 1 - 创建一个列表来同时保存整数、字符串和浮点值,并将其赋值给名为 list1 的变量。

  • 步骤 2 - 使用 pop() 函数删除索引为 2 和 0 的元素。

  • 步骤 3 - 最后,print 函数返回新的列表。

示例

#initializing the list with set of elements
list1 = [10, 20, 30, 'Hello ', 67.9]
#The pop function will simply remove the element for the mentioned index value
#index value of 2 and 0 needs to be removed
list1.pop(2)
list1.pop(0)
#print function will return the list after removing the elements.
print(list1)

输出

[20, 'Hello ', 67.9]

方法 2:使用 numpy 模块删除指定索引元素后打印列表的 Python 程序

当数据集较小时,可以使用简单的方法删除元素;当数据集较大时,我们可以切换到相应模块的内置函数。在本例中,使用 numpy 模块。

算法

  • 步骤 1 - 声明用于删除元素的必需模块 numpy 为 “np”。

  • 步骤 2 - 创建包含整数、字符串和浮点数的数据结构列表。

  • 步骤 3 - 要使用 numpy 模块删除元素,需要将给定的列表转换为 numpy 数组。

  • 步骤 4 - 将转换后的 numpy 数组存储在名为“val”的变量中。

  • 步骤 5 - 使用函数 np.delete() 在指定索引值的情况下从 numpy 数组中删除元素。

  • 步骤 6 - 然后将上述函数声明为新的变量并打印新的列表。

示例

#importing the module as np
import numpy as np
#Creating a list to hold values of different data types
list1 = [10, 20, 30, 'Hello ', 67.9]
#To convert the list data structure to numpy array and stored in val
val = np.array(list1)
#The given index value elements are removed.
#The delete function has two parameters 
newlist = np.delete(val, [0,2])
#Then finally returns the new list
print(newlist)

输出

['20' 'Hello ' '67.9']

方法 3:使用 reduce 方法删除指定索引元素后打印列表的 Python 程序

使用 functools 模块中 reduce 函数从列表中删除元素。

算法

  • 步骤 1 - 从 functools 模块导入 reduce 方法。

  • 步骤 2 - 创建一个包含元素的列表。

  • 步骤 3 - 使用 lambda 函数,这是一个无需定义的匿名函数。

  • 步骤 4 - print 语句返回删除索引 0 和 2 元素后的列表。

示例

#importing the module
from functools import reduce
#Creating a list to hold values of different data types
list1 = [10, 20, 30, 'Hello ', 67.9]
#The elements removed using reduce method with key parameters.
new_list = reduce(lambda a,b: a+[b] if list1.index(b) not in [0,2] else a, list1, [])
#Then finally returns the new list
print(new_list)

输出

[20, 'Hello ', 67.9]

结论

组织机构必须处理大型数据集,因此删除不需要的元素可以提高效率并简化工作。借助 Python 语言,可以使用 del、remove、pop、numpy 模块和 functools 模块从列表中删除元素。

更新于:2023年9月4日

浏览量 360

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告