我有一个看起来像这样的列表:
[{'name':'bob'},{'name':''},{'name':'test2'}]
字典对象在列表中不是真的为空,那么如何删除这个不是真的为空的“空”对象呢?新列表应如下所示:
[{'name':'bob'},{'name':'test2'}]
我尝试过:
[i for i in mylist if i]
但是,由于字典对象不是完全为空,所以我无法删除它。
编辑:
我将以下代码放入JSON数据清理过程中,如下所示:
for json in list:
try:
name = extract_json
name = [i for i in name if len(i["name"]) > 0]
except:
name = None
我只想在需要时才清理列表。
答案 0 :(得分:1)
您需要测试每个name
的{{1}}键,我可以通过检查名称的长度是否大于零来做到这一点:
dict
答案 1 :(得分:1)
您可以尝试一下。对于具有多个键且不包含字符串的数据类型的字典,它是万无一失的。
mylist = [{'name':'bob'},{'name':''},{'name':'test2'}]
new_list = [d for d in mylist if any(d.values())]