2024-04-25 20:18:05 发布
网友
我这里有个2d列表:
list = [ [1,2,3], [1,'',''], ['','','']]
我要删除列表中“”的每个实例,因此输出应如下所示:
>> [ [1,2,3],[1]]
我想删除所有的''-s'会把我排除在这个列表之外,所以你能解释一下如何在2d列表中删除空列表吗?你知道吗
>> [ [1,2,3],[1],[]]
谢谢你!你知道吗
也可以使用过滤器:
lst = [ [1,2,3], [1,'',''], ['','','']] #don't use list to define a list list(filter(None,[list(filter(None,l)) for l in lst]))
输出:
[[1, 2, 3], [1]]
a = [[1,2,3], [1,'',''], ['','','']] b = [[i for i in item if i != ''] for item in a] c = [item for item in b if item != []] print(b) print(c)
输出
[[1, 2, 3], [1], []] [[1, 2, 3], [1]]
带有嵌套列表理解的一行代码(虽然不是很干巴巴的):
[[y for y in x if y != ''] for x in list if [y for y in x if y != ''] != []] # [[1, 2, 3], [1]]
也可以使用过滤器:
输出:
输出
带有嵌套列表理解的一行代码(虽然不是很干巴巴的):
相关问题 更多 >
编程相关推荐