Скопируйте список и удалите элемент из копии через del. Так функция вернёт новый список, не изменяя исходный; допустимые отрицательные индексы будут работать как в обычном Python.
Реализовать функцию удаления элемента из массива по индексу
Скопируйте список и удалите элемент из копии через del. Так функция вернёт новый список, не изменяя исходный; допустимые отрицательные индексы будут работать как в обычном Python.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создайте функцию, принимающую два параметра: массив данных и индекс элемента, который следует удалить из массива.
Функция должна вернуть массив без указанного элемента.
Пример вызова:
def delete_item(arr, idx):
# ваш код
pass
Ответ
Скопируйте список и удалите элемент из копии через del. Так функция вернёт новый список, не изменяя исходный; допустимые отрицательные индексы будут работать как в обычном Python.
Простой контракт с IndexError для индекса за пределами списка:
def delete_item(arr, idx):
result = arr.copy()
del result[idx]
return result
delete_item([10, 20, 30], 1) вернёт [10, 30], а индекс -1 удалит последний элемент. Это поверхностная копия: вложенные изменяемые объекты остаются общими. Сложность O(n) по времени и памяти. Если по условию допустимо менять оригинал, копия не нужна, но такое поведение следует явно согласовать.