Eri*_*ric 0 python recursion function
如果你有一个列表= [1,2,3,4,5]
如何在不使用len(list)的情况下以递归方式计算该列表的长度?
myarray = [1,2,3,4,5]
def mylist(myarray):
if (myarray == []):
print ("The list is empty")
return
return 1 + ?
Run Code Online (Sandbox Code Playgroud)
不想使用len但每次在列表中存在值时只添加1.我该怎么办?
>>> def list_length(L):
... if L:
... return 1 + list_length(L[1:])
... return 0
...
>>> list_length(myarray)
5
>>> list_length([])
0
>>> list_length([1]*4)
4
>>>
Run Code Online (Sandbox Code Playgroud)
如果列表包含元素,则返回1 +列表长度减去一个元素.
您可以通过几种不同的方式执行此操作,但切片[:1]或[1:]将分别为您提供减去最后一个或第一个的元素,这是有道理的.
如果列表没有元素,则返回0