编辑列表中的位置

时间:2020-12-26 14:58:06

标签: python list

当编辑列表中的位置时,可以说

A=[1,2,3,4]
A[1:-1]

返回 2,3 但如果我希望它为每个增加 i 所以对于一个大列表或检查一个句子是否是回文。做了一次之后,我希望它返回 a[2:-2] 而不让它成为一个围绕变量循环的循环。有没有办法只添加值而不是在它自动循环的地方递归地做它,或者是唯一的方法让它只有两个变量并改变代码外的变量?

1 个答案:

答案 0 :(得分: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)

*EDIT:这是列表理解。 真正的 for 循环是

arr1=[]
arr=[1,2,3,4]
for i in range(len(arr):
  arr1.append(arr[i:-i])

如果这有帮助,请记住接受答案,您可能应该去this

相关问题