def list_all(obj):
"""
Return a list of all non-list elements in obj or obj's sublists, if obj is a list. Otherwise, return a list containing obj.
@param list|object obj: object to list
@rtype: list
>>> obj = 17
>>> list_all(obj)
[17]
>>> obj = [1, 2, 3, 4]
>>> list_all(obj)
[1, 2, 3, 4]
>>> obj = [[1, 2, [3, 4], 5], 6]
>>> all([x in list_all(obj) for x in [1, 2, 3, 4, 5, 6]])
True
>>> all ([x in [1, 2, 3, 4, 5, 6] for x in list_all(obj)])
True
"""
if not isinstance(obj, list):
return obj
else:
return [list_all(x) for x in obj]
當我試圖print(list_all([[2,3],[4,5]]))
,它打印出完全相同的輸入,這意味着代碼不會什麼都沒有。我認爲問題是[]
支架,但我想不出一種方法來消除。有人可以幫忙嗎?
我看不到你的代碼不能正常工作,請再具體些! – Arman
剛剛編輯,對此感到抱歉 – CoolKid
你在做什麼?壓扁列表清單? – purpletentacle