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))
添加回答
舉報