删除所有空的嵌套列表 [英] Remove all empty nested lists

查看:154
本文介绍了删除所有空的嵌套列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用此列表:

list = [
    [],
    ['', 'subitem'],
    [[]],
    'item',
    [
        'item',
        'item',
        [''],
        []
    ],
    []
]

我可以得到这个:

list = [
    ['subitem'],
    'item',
    [
        'item',
        'item'
    ]
]

如何递归删除所有空的嵌套列表,零字符串以及带有嵌套零字符串的列表?

How do I remove recursively all empty nested lists, zero-strings, and lists with nested zero-strings?

推荐答案

单线:

def remove_empty(l):
    return tuple(filter(lambda x:not isinstance(x, (str, list, tuple)) or x, (remove_empty(x) if isinstance(x, (tuple, list)) else x for x in l)))

这篇关于删除所有空的嵌套列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆