首页 > 解决方案 > Python - 返回一个新的字典列表,清除某些键及其值

问题描述

上下文:我需要返回列表的每个字典中存在的某些键及其值

问题:我只是无法正确处理,无论是通过迭代、过滤还是列表逻辑......

以下是需要过滤的列表示例:

[{
"id": "id1",
"date": "2021-01-05 03:05:06",
"prochain_joueur": "joueur1",
"joueurs": ["joueur1", "joueur2"],
"state": ["pio1","pio2"],
"gagnant": "Jorje"
}, 
{...},
{
"id": "id23",
"date": "2021-01-05 03:05:06",
"prochain_joueur": "joueur2",
"joueurs": ["joueur1", "joueur2"],
"state": ["pio1","pio2"],
"gagnant": "Castillo"
}]

这是需要返回的内容:

[{
    "id": "80a0a0d2-059d-4539-9d53-78b3f6045943",
    "date": "2021-01-23 14:23:59",
    "joueurs": ["jowic42", "robot-1"],
    "gagnant": "jowic42"
},
{...},
{
    "id": "80a0a0d2-059d-4539-9d53-78b3f6045943",
    "date": "2021-02-23 14:23:59",
    "joueurs": ["jowic42", "robot-1"],
    "gagnant": "jowic42"
}]

需要返回带有键“prochain_joueur”和“state”的相同列表,我就是想不通。请注意,列表最初是在 Json 中,我需要返回最后 20 个条目,并且需要在 Json 中返回,但是,我实际上知道该怎么做!

标签: python-3.xlistdictionaryfiltering

解决方案


我用这个做的:

for dict_iter in list_dict:
    for key in keys_to_delete:
        if key in dict_iter.keys():
            del dict_iter[key]

list_dict是您的字典列表,keys_to_delete是您想要的键列表,例如["prochain_joueur", "state"]


推荐阅读