在Python程序中删除数组中所有元素的出现次数
语句“从数组中删除所有元素的出现次数”意味着完全从数组中删除所提到的元素,这样重复的元素也会从数组中大幅删除。通过考虑输入输出情况,我们来了解一下实际的操作过程。
输入输出情况
考虑一个由一个或多个重复元素(重复元素)组成的数组。
arr=[1,10,20,10,21,16,18,10,22,10,8,10]。
现在,让我们使用上述数组来删除所有元素的出现次数。
- 提到要从数组中删除所有其出现次数的元素。
-
例如,让我们考虑现有的元素 10 在数组 arr 中存在。
-
我们可以清楚地看到元素 10 存在于数组中,并且重复了5次。
-
因此,只要选择元素,所有重复元素也将被删除。在这种情况下,所有重复5次的10都将从数组中删除。
-
删除所有元素 10 的出现次数之后,得到的数组将为arr=[1,20,21,16,18,22,8]。
现在,让我们分别讨论从数组中删除所有元素的出现次数的过程的不同方法。
删除数组中所有元素的出现次数
让我们了解有助于构建一个程序以删除所有元素出现并一一讨论这些技术的技巧。
使用Remove()方法
更具体地说,如果必须从数组中删除元素,则将特定元素与该数组的所有其他元素进行比较,并在找到匹配元素时调用remove()方法。
通过这种方式,可以从数组中删除所有重复元素。让我们使用“remove()”方法构建一个程序,以通过以下算法删除所有元素的所有出现次数。
范例
在本例中,我们将讨论如何使用remove()方法删除数组中特定元素的所有出现次数。
def removing_elements(arr, element):
element_count = arr.count(element)
for i in range(element_count):
arr.remove(element)
return arr
if __name__ == "__main__":
arr = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
element = 10
print("在执行删除操作之前,数组为:")
print(arr)
result = removing_elements(arr, element)
print("在执行删除操作之后,数组为:")
print(result)
输出
上面程序的输出如下 –
在执行删除操作之前,数组为:
[1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
在执行删除操作之后,数组为:
[1, 20, 21, 16, 18, 22, 8]
使用列表推导式
技术 “列表推导式” 由一行冗长的语句组成,可以执行整个任务。在这种技术中,我们搜索所需的元素,并在找到所需的元素后构建另一个数组,使得匹配的元素不存储在该特定数组中。
可以构建一个子数组,只要满足给定的基本条件,就可以存储其余的元素。除匹配的元素外,所有其他元素都将存储在新构建的数组中,这最终被视为结果数组。让我们使用这种技术构建一个程序,按照下面所描述的算法删除所有元素的出现。
实例
在这个例子中,我们将讨论如何使用列表推导式删除数组中特定元素的所有出现。
def removing_elements(arr, element):
result = [i for i in arr if i != element]
return result
if __name__ == "__main__":
arr = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
element = 10
print("执行删除操作前的数组如下: ")
print(arr)
result = removing_elements(arr, 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()方法进行过滤。这些被过滤的元素将存储在一个数组中,最终被视为结果数组。
实例
在这个例子中,我们将讨论如何使用方法 filter() 删除数组中特定元素的所有出现。
def removing_elements(arr, element):
result = list(filter((element).__ne__, arr))
return result
if __name__ == "__main__":
arr = [1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
element = 10
print("执行删除操作前的数组如下: ")
print(arr)
result = removing_elements(arr, element)
print("执行删除操作后的数组如下: ")
print(result)
输出结果
上面程序的输出如下 −
执行删除操作前的数组如下:
[1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10]
执行删除操作后的数组如下:
[1, 20, 21, 16, 18, 22, 8]