Python 筛选0的嵌套列表
我正在尝试筛选嵌套的值列表以删除0,以便在不使用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 !=
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)
min((新建),默认值为0)
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]