首页 > 解决方案 > 如果字典值在字典列表中多次存在,则从列表中删除特定字典

问题描述

我有一个返回字典列表的函数,如下所示:

[{'Status': 'Deleted', 'Name': "My First Test"}, {'Status': 'Modified', 'Name': "My First Test"}]

如您所见,“我的第一次测试”在那里出现了两次。通常这不会是一个问题,但是,根据我对后端发生的事情的了解,我真正想要的唯一字典是“修改后的”字典。

本质上,我正在寻找一种方式来表示“如果 dict['Status'] == 'Modified' 和 dict['Status'] == 'Deleted' 为同一个名称,删除具有“已删除”状态的那个。”

标签: pythonlistdictionary

解决方案


我不知道我是否很好地理解了你的问题。但这是一个提示:

list = [
{
    'Status': 'Deleted',
    'Name': "My First Test"
},
{
    'Status': 'Modified',
    'Name': "My First Test"
}]

filterd_list = [l for l in list if l['Status'] == 'Modified']
print(filterd_list) # Only the modified one will be printed

推荐阅读