Python 筛选0的嵌套列表

Python 筛选0的嵌套列表,python,nested,minimum,Python,Nested,Minimum,我正在尝试筛选嵌套的值列表以删除0,以便在不使用0的情况下计算最小值 data = [[0, 723, 124,],[4084, 208, 32, 4 ], [ 413, 277, 0, 154], [], [211, 132,0, 54]] 我试过: for i in data: new_values = [] mins = min((i), default=0) if mins == 0: new_values = (filter(lambda x: x !=

我正在尝试筛选嵌套的值列表以删除0,以便在不使用0的情况下计算最小值

data = [[0, 723, 124,],[4084, 208, 32, 4 ], [ 413, 277, 0, 154], [], [211, 132,0, 54]]
我试过:

for i in data:
   new_values = []
   mins = min((i), default=0)
   if mins == 0:
      new_values = (filter(lambda x: x !=0, data))
print(new_values)
它给了我:

[]
<filter object at 0x040D4130>
[]
[]
[]
[]
<filter object at 0x040D40F0>
[]
[]
[]
[]
<filter object at 0x040D4130>
预期产出:

mins = (124, 4,154,0,54)
  • 我们必须迭代输入列表
  • 通过过滤器和lambda函数从每个输入数据项中删除零值
  • 从非零项中获取最小值,如果没有项,则默认值为0,即
    min((新建),默认值为0)
  • 将步骤3的结果附加到输出变量,即
    mins
  • 代码:-

    data = [[0, 723, 124,],[4084, 208, 32, 4 ], [ 413, 277, 0, 154], [], [211, 132,0, 54]]
    mins = []
    for i in data:
        new_i = list(filter(lambda x: x !=0, i))
        mins.append(min((new_i), default=0))
    print(mins)
    
    与列表相同的代码-

    mins = [ min(filter(lambda x: x !=0, i), default=0)
             for i in data]
    

    此代码的预期输出是什么?
    [list(filter(lambda x:x!=0,i))用于数据中的i]
    代码为您提供不带0值元素的列表当我尝试时,它为我提供了空的[]列表,并且在其上面有筛选器对象的位置,它有完整的列表。
    [min(list(filter(lambda x:x!=0,i)),用于数据中的i if len(i)]
    补充@VivekSable回答谢谢。我总是忘记数据中I的嵌套循环位等。现在我只需要弄清楚当嵌套列表为空[]时,该在其中执行什么操作。我需要它给出一个0。这样,它就从最小列表中消失了。
    mins = [ min(filter(lambda x: x !=0, i), default=0)
             for i in data]