Python 3.x 如何在python中对2D数组/列表应用过滤函数

Python 3.x 如何在python中对2D数组/列表应用过滤函数,python-3.x,Python 3.x,我只想从2D列表中找到正数 列表1=[-1,2,3,4,-2],-4,3,2]] 输出=[[2,3,4],[3,2]] 到目前为止,我尝试了printlistfilterlambda x:x>0,[[-1,2,3,4,-2],-4,3,2]] 但我在过滤器中应用2D列表时遇到问题。这不可读,但只是为了回答您的问题,请使用过滤器上方的映射 例: 输出: 这是不可读的,但只是为了回答您的问题使用上面的地图过滤器 例: 输出: 这种方法行不通,因为在lambda中,x:x>0x是一个列表,而不是一个数

我只想从2D列表中找到正数 列表1=[-1,2,3,4,-2],-4,3,2]]

输出=[[2,3,4],[3,2]]

到目前为止,我尝试了printlistfilterlambda x:x>0,[[-1,2,3,4,-2],-4,3,2]]
但我在过滤器中应用2D列表时遇到问题。

这不可读,但只是为了回答您的问题,请使用过滤器上方的映射

例:

输出:


这是不可读的,但只是为了回答您的问题使用上面的地图过滤器

例:

输出:


这种方法行不通,因为在lambda中,x:x>0x是一个列表,而不是一个数字。要使其工作,您需要映射2D列表并过滤每个元素/子列表

list1 = [[-1,2,3,4,-2], [-4,3,2]]

output = list(
    map(
       lambda l: list(filter(lambda x: x > 0, l)),
       list1
    )
)

print(output)
这是执行的代码,给出了正确的结果:

这种方法行不通,因为在lambda中,x:x>0 x是一个列表,而不是一个数字。要使其工作,您需要映射2D列表并过滤每个元素/子列表

list1 = [[-1,2,3,4,-2], [-4,3,2]]

output = list(
    map(
       lambda l: list(filter(lambda x: x > 0, l)),
       list1
    )
)

print(output)
这是执行的代码,给出了正确的结果:

请告诉我如何在同一映射函数中对该输出进行平方运算@请告诉我如何在同一映射函数中对该输出进行平方运算@拉凯什
list1 = [[-1,2,3,4,-2], [-4,3,2]]

output = list(
    map(
       lambda l: list(filter(lambda x: x > 0, l)),
       list1
    )
)

print(output)