Программа Python для удаления всех вхождений элемента в массив/список
Массив — это совокупность элементов однородных типов данных, хранящихся в смежных ячейках памяти. Python не обеспечивает поддержку встроенных массивов. Если вам нужно работать с массивами, вам нужно импортировать модуль «массив» или использовать массивы в библиотеке numpy.
Мы можем использовать списки вместо массивов в Python. Однако мы не можем ограничить элементы списка одним и тем же типом данных.
Данная задача — удалить все вхождения элемента в массиве/списке. я, э. мы должны удалить указанный элемент, включая повторяющиеся элементы. Давайте разберемся, как это на самом деле работает, рассмотрев сценарий ввода-вывода.
Сценарий ввода-вывода
Рассмотрим список, состоящий из одного или нескольких повторяющихся элементов (дубликатов).
my_list = [ 1, 10, 20, 10, 21, 16, 18, 10, 22, 10, 8, 10 ].
Теперь предположим, что нам нужно удалить элемент 10. Мы ясно видим этот элемент 10 присутствует в списке и повторяется 5 раз. После удаления всех вхождений tрезультирующий список будет следующим -
my_list = [ 1, 20, 21, 16, 18, 22, 8 ].
Существуют разные способы удаления элементов из списка Python. Давайте обсудим их по отдельности.
Использование метода Remove()
Метод удаления() в Python принимает одно значение, представляющее элемент списка в качестве параметра, и удаляет его из текущего списка. Чтобы удалить все вхождения с помощью этого метода, нам нужно сравнить желаемый элемент со всеми другими элементами в списке, и всякий раз, когда происходит совпадение, нам нужно вызывать метод Remove().
Пример
В этом примере мы собираемся создать список элементов и удалить все вхождения значения 10 с помощью метода remove() method.
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("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]
Использование метода «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("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]