从多个子列表中删除了多个项目

时间:2019-12-07 09:38:44

标签: python list

我正在尝试创建一个函数,以删除作为列表一部分的多个子列表的多个元素(等于0)。问题是,当我创建函数时,它会返回一个没有子列表的大列表,因此我想知道我该如何对python说删除该元素但将子列表保留为原始列表的信息。

这是我的代码

def cero (data):
    lista=[]
    for list in data:
       for item in list:
           if item >0:
               lista.append(item)
    return (lista)

1 个答案:

答案 0 :(得分:1)

您将匹配的元素追加到一个列表中,因此得到一个列表,可以重现原始结构

def cero (data):
    result = []
    for list in data:
        subresult = []
        for item in list:
            if item >0:
                subresult.append(item)
        result.append(subresult)
    return result 

或者使用列表理解语法

def filter_list(values):
    return [[x for x in sublist if x > 0] for sublist in values]