如何删除列表中的词组中的键
例如
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'}]
提前感谢您的帮助
答案 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