删除python中字符串列表中包含给定短语的所有元素
有一个名为删除python中字符串列表中包含给定短语的所有元素,python,json,string,list,object,Python,Json,String,List,Object,有一个名为summary的列表,其中包含一个对应的JSON对象,类似于: { # summary[0] "object1": { "json_data": "{json data information}", "tables_data": "TABLES_DATA" }, # summary[1] "object2": { "json_data": "{json data information}", "tables
summary
的列表,其中包含一个对应的JSON对象,类似于:
{
# summary[0]
"object1": {
"json_data": "{json data information}",
"tables_data": "TABLES_DATA"
},
# summary[1]
"object2": {
"json_data": "{json data information}",
"tables_data": ""
}
}
本质上,如果在列表项的字符串中找到“”tables\u data:”,我希望删除整个列表项
我该怎么做呢?您可以进行字典理解,选择带有
'tables\u data'
的字典项的值不等于'
:
我没有字典,也没有列表,所以我的对象没有
items
attributeUse:results=[{k:d代表k,d在摘要[0]中。items()如果d.get('tables_data')!='}]
。尝试了这个,看起来只有我的第一个对象保留在JSON文件中。请编辑您的问题以包含JSON的确切视图。看起来你想迭代这个列表,但让我看看。这基本上就是我在帖子上看到的。整个文件包含的信息太多,无法包含
summary = [{
# summary[0]
"object1": {
"json_data": "{json data information}",
"tables_data": "TABLES_DATA"
},
# summary[1]
"object2": {
"json_data": "{json data information}",
"tables_data": ""
}
}]
result = [{k: d for k, d in s.items() if d.get('tables_data') != ''} for s in summary]
# [{'object1': {'json_data': '{json data information}', 'tables_data': 'TABLES_DATA'}}]