[英]Python: remove dictionary from list, given list of keys to remove
一种方法是,使用列表理解来重新创建列表(并将del_id_list
声明为一set
以加快查找速度):
a=[{'id': 1, 'name': 'paul'},{'id': 2, 'name': 'john'},{'id': 3, 'name': 'john2'},{'id': 4, 'name': 'johnasc'}]
del_id_list={2,4}
new_a = [d for d in a if d['id'] not in del_id_list]
结果:
[{'id': 1, 'name': 'paul'}, {'id': 3, 'name': 'john2'}]
sourceList = [{'id': 1, 'name': 'paul'},{'id': 2, 'name': 'john'},{'id': 3, 'name': 'john2'},{'id': 4, 'name': 'johnasc'}]
del_id_list = [2,4]
for itemDict in sourceList:
if itemDict['id'] in del_id_list:
sourceList.remove(itemDict)
print(sourceList)
Result -> [{'name': 'paul', 'id': 1}, {'name': 'john2', 'id': 3}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.