У меня есть список a = [1,2,3,4,5]
. И у меня есть функция, скажем, Func(x)
. Я знаю, что если я сделаю Func(a)
, тогда ссылка a
будет передана в Func(x)
. И если я сделаю Func(a[:])
, новый список будет создан и передан в Func(x)
.Как получить часть списка на Python без создания нового списка?
Так что мой вопрос: Можно ли передавать только первые три элементов в Func(x)
по ссылке, как Func(a)
(я не хочу, чтобы пройти весь список a
в функции из-за какой-либо причине)? Если я сделаю Func(a[:4])
, будет создан новый список, и этого я хочу избежать.
Единственный способ, которым я могу думать, это передать a
и индексы в Func(x)
, например Func(a, start, end)
.
Почему вы хотите, чтобы избежать создания нового списка? Есть ли какая-то конкретная причина? – thefourtheye
Это рекурсивная функция. Если я создаю новый список каждый раз, стек будет переполняться. – stanleyli
Затем передайте индекс как параметр. – thefourtheye