Я выполняю критическую работу с Python и хочу создать функцию, которая удаляет несколько элементов из списка, если они отвечают определенным критериям. Я бы предпочел не создавать копии списка, потому что он заполнен множеством действительно больших объектов.
Функциональность, которую я хочу реализовать:
def listCleanup(listOfElements):
i = 0
for element in listOfElements:
if(element.meetsCriteria()):
del(listOfElements[i])
i += 1
return listOfElements
myList = range(10000)
myList = listCleanup(listOfElements)
Я не знаком с низкоуровневыми работами Python. Передано ли myList по значению или по ссылке?
Как я могу сделать это быстрее?
Возможно ли каким-либо образом расширить класс списка и реализовать listCleanup() в пределах этого?
myList = range(10000)
myList.listCleanup()
Спасибо -
Джонатан