python删除数组中的空对象

spi*_*idy 1 python arrays dictionary

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

array =  [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'},
          {}, {}, {}]
Run Code Online (Sandbox Code Playgroud)

我想删除空对象,结果应该是这样的 [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}]

for day,value in array.iteritems():
    if not value:
    continue
    print array
Run Code Online (Sandbox Code Playgroud)

发现这无济于事

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

gtl*_*ert 5

你可以使用:

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

输出

[{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}]
Run Code Online (Sandbox Code Playgroud)

在 Python 中,空字典{}和空列表 的[]计算结果为False。如果不是(即非空)arrayedited_array则上面的列表推导式将每个项目添加到其中False