我正在尝试创建一个函数,以删除作为列表一部分的多个子列表的多个元素(等于0)。问题是,当我创建函数时,它会返回一个没有子列表的大列表,因此我想知道我该如何对python说删除该元素但将子列表保留为原始列表的信息。
这是我的代码
def cero (data):
lista=[]
for list in data:
for item in list:
if item >0:
lista.append(item)
return (lista)
答案 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]