python删除数组中的空对象

时间:2015-09-06 18:36:16

标签: python arrays dictionary

我是python的新手,正在玩数组并发现问题

User.findOne({_id: userId}).populate('items').exec(function(err, user) {
    // user.items contains the referenced docs instead of just the ObjectIds    
});

我想删除空对象,结果应该如下array = [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}, {}, {}, {}]

[{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}]

发现这无济于事

任何帮助将不胜感激。 提前致谢

1 个答案:

答案 0 :(得分:3)

您可以使用:

array = [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}, {}, {}, {}]
edited_array = [x for x in array if x]
print(edited_array)

<强>输出

[{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}]

在Python中,空字典{}和空列表[]评估为False。如果不是array(即非空),上面的列表理解会将edited_array中的每个项目添加到False