#python #list
#python #Список
Вопрос:
При редактировании позиции в списке допустим
A=[1,2,3,4]
A[1:-1]
возвращает 2,3
, но что, если я хочу, чтобы оно увеличивалось для каждого, скажем i
так, для большого списка или для проверки, является ли предложение палиндромом. После выполнения этого один раз я хочу, чтобы он возвращался a[2:-2]
, не превращая его в цикл, который зацикливается вокруг переменной. Есть ли способ просто добавить значения к этому, не делая это рекурсивно, где он автоматически зацикливается, или это единственный способ сделать это просто двумя переменными и изменить переменные вне кода?
Комментарии:
1. Существует нечто, называемое «понимание списка», если вы хотите прочитать о возможно более коротком синтаксисе. Однако не уверен, что именно вы просите.
2. Неясно, о чем вы спрашиваете, возможно, добавьте пример.
Ответ №1:
Боюсь, что без циклов / рекурсии это невозможно. Чтобы сделать это с помощью рекурсии, допустим, это работает для вас.
def recur(arr,i=0,arr1=[]):
if i==len(arr):
return arr1
else:
arr1.append(arr[i:-i])
i =1
recur(arr,i,arr1)
использование цикла for
arr=[1,2,3,4]
arr1=[arr[i:-i] for i in range(len(arr)]
print(arr1)
Редактировать:
Это понимание списка. true для цикла будет
arr1=[]
arr=[1,2,3,4]
for i in range(len(arr):
arr1.append(arr[i:-i])