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