【发布时间】:2011-08-07 12:53:27
【问题描述】:
如果你有一个列表 = [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 + ?
不想使用 len 而是每次列表中存在值时加 1。我该怎么做?
【问题讨论】:
-
请将
(myarray == [])替换为not myarray。 -
我不禁要问:你到底为什么要这么做?与标准 len 函数(Python 列表的常数时间非常短)相比,DTing 接受的答案具有 O(N**2) 复杂度,这简直是可怕的。