在JSON中删除多个对象

Jim*_*nts 0 python json

name_list = [{'name': 'John'}, {'name': 'Johan'}, {'name': 'John'}]

    for i in xrange(len(name_list)):
        if name_list[i]["name"] == "John":
            del name_list[i]
Run Code Online (Sandbox Code Playgroud)

在第一次识别John之后,它会删除该对象,但会突破该功能.如何继续遍历直到结束并删除每个以John为名的JSON对象?

非常感谢你们!

kyl*_*e.a 5

您不应该从当前迭代的序列中删除项目.没有你不想要的元素,建立一个新的字典会更安全:

new_list = [d for d in name_list if d['name'] != 'John']
Run Code Online (Sandbox Code Playgroud)