3 回答
TA贡献1797条经验 获得超4个赞
在递归检查列表项之前,您应该先检查列表是否为假/空。您还可以避免显式返回True或False使用andandor运算符:
def isListEmpty(inList):
return inList == '' or isinstance(inList, list) and (not inList or all(map(isListEmpty, inList)))
演示:https : //repl.it/repls/AccurateSmallOutcome
TA贡献1851条经验 获得超5个赞
对于实际为空的列表,该函数应该简单地返回 True。
def isListEmpty(inList):
if isinstance(inList, list): # Is a list
if len(inList) == 0:
return True
else:
return all(map(isListEmpty, inList))
return False # Not a list
TA贡献1772条经验 获得超6个赞
l事实上不是空的。但在这种情况下,此代码应该可以工作:
l = ['',['']]
def isListEmpty(inList):
for char in inList:
if char == '' or ['']:
return True
else:
return False
break
print(isListEmpty(l))
添加回答
举报