Coding 【每日一题】将深度列表平面化 (不去重) -Python-20210911

Jack · 2021年09月11日 · 最后由 Jack 回复于 2021年09月12日 · 20 次阅读
本帖已被设为精华帖!

深度列表:[1, [2], [[3], 4], 5] 平面化后:[1,2,3,4,5]

Jack 将本帖设为了精华贴 09月11日 18:24

参考代码:

def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return ret
def deep_flatten(lst):
    result = []
    result.extend(
        spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
    return result
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册