删除dict python列表中的dict条目

时间:2014-05-22 12:45:50

标签: python list dictionary key

如何删除列表中的词组中的键

例如

My_list= [{'ID':0,'Name':'Paul','phone':'1234'},{'ID':1,'Name':'John','phone':'5678'}]

我想在ID 1中删除手机密钥

My_list= [{'ID':0,'Name':'Paul','phone':'1234'},{'ID':1,'Name':'John'}]

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

当您要查找的ID与1匹配时,请重新构建不包含键phone的字典,否则请按原样使用字典,如下所示

l = [{'ID': 0, 'Name': 'Paul', 'phone': '1234'},
     {'ID': 1, 'Name': 'John', 'phone': '5678'}]

k, f = 1, {"phone"}
print([{k: i[k] for k in i.keys() - f} if i["ID"] == k else i for i in l])
# [{'phone': '1234', 'ID': 0, 'Name': 'Paul'}, {'ID': 1, 'Name': 'John'}]

此处,k是您要查找的ID值,f是一组键,如果ID匹配,则需要在结果字典中排除。

答案 1 :(得分:0)

只需遍历列表,检查是否有ID' ID'等于1,如果是,则删除'手机'键。这应该有效:

for d in My_list:
    if d["ID"] == 1:
        del d["phone"]

最后打印清单:

print My_list