Python程序:删除数组/列表中所有元素的出现次数

Python程序:删除数组/列表中所有元素的出现次数

数组是一组存储在连续内存地址中的同质数据类型元素的集合。Python不支持内置数组。如果需要使用数组,可以导入“array”模块或使用numpy库中的数组。

在Python中,我们可以使用列表代替数组。但是,我们无法限制列表中的元素必须是相同的数据类型。

给定任务是删除数组/列表中一个元素的所有出现次数。也就是说,我们需要除去指定的元素,包括重复元素。让我们通过考虑输入输出的情况来了解它是如何工作的。

输入输出场景

考虑一个包含一个或多个重复元素(重复元素)的列表。

my_list = [ 1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10 ].

现在,假设我们需要删除元素10。 我们可以清楚地看到元素 10 存在于列表中,并且它重复了5次。除去所有的出现次数,所得到的列表将是 –

my_list = [ 1, 20, 21, 16, 18, 22, 8 ].

有不同的方法可以从Python列表中删除元素。让我们逐一讨论它们。

使用Remove()方法

Python中的remove()方法接受一个单个值,表示列表中的元素作为参数,并将其从当前列表中删除。为了使用此方法删除所有出现情况,我们需要将所需元素与列表中的所有其他元素进行比较,并在发生匹配时调用remove()方法。

例子

在此示例中,我们将创建一个元素列表,并使用remove() 方法 删除值为10的所有出现次数。

def removing_elements(my_list, element):
   element_count = my_list.count(element)
   for i in range(element_count):
      my_list.remove(element)
   return my_list
if __name__ == "__main__":
   my_list = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
   element = 10
   print("The list before performing the removal operation is: ")
   print(my_list)
   result = removing_elements(my_list, element)
   print("The list after performing the removal operation is: ")
   print(result)

输出

以上程序的输出如下 –

The list before performing the removal operation is: 
[1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
The list after performing the removal operation is:
[1, 20, 21, 16, 18, 22, 8]

使用列表推导式

技术 “列表推导式” 是由一个冗长的单行语句组成,可以执行整个任务。使用此方法可以构造一个新的列表,以便在满足给定的基础条件时,可以存储其余的元素。

在这里,我们搜索所需的元素,一旦找到它,我们就构造另一个列表,使匹配的元素被排除在外,也就是说,除了匹配的元素之外,其他所有元素都将存储在新构造的列表中,最终被视为结果列表。

例子

让我们来看一个例子-

def removing_elements(my_list, element):
   result = [i for i in my_list if i != element]
   return result

if __name__ == "__main__":
   my_list = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
   element = 10
   print("执行删除操作前列表为:")
   print(my_list)
   result = removing_elements(my_list, element)
   print("执行删除操作后列表为:")
   print(result) 

输出

以上程序的输出结果如下 –

执行删除操作前列表为: 
[1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
执行删除操作后列表为:
[1, 20, 21, 16, 18, 22, 8]

使用 “Filter()” 方法

filter() 方法接受一个函数和一个可迭代对象作为参数,并根据函数描述的条件过滤给定可迭代对象的元素。

在这里,使用 filter() 和 ne (即不等运算符的功能) 方法,我们可以过滤出列表中不等于要删除元素的元素。

举个例子

在这个例子中,我们使用 filter() 方法删除列表中特定元素的所有出现。

def removing_elements(my_list, element):
   result = list(filter((element).__ne__, my_list))
   return result

if __name__ == "__main__":
   my_list = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10] 
   element = 10
   print("执行删除操作前列表为:")
   print(my_list)
   result = removing_elements(my_list, element)

   print("执行删除操作后列表为:")
   print(result)

输出

以上程序的输出结果如下 –

执行删除操作前列表为: 
[1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
执行删除操作后列表为:
[1, 20, 21, 16, 18, 22, 8]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程