python-3.x - 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 中返回,但是,我实际上知道该怎么做!
解决方案
我用这个做的:
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"]
推荐阅读
- c++ - 为什么 JsonCpp http 客户端在 201 响应代码上失败?
- ios - 在视图控制器中添加搜索栏后推送视图控制器时显示黑线
- docker - 如何使用 docker-compose 在 CI 上构建应用程序?
- reactjs - 如何在组件antd中格式化数字货币后缀?
- sql - 按列和行分组
- r - elsif 语句中的“错误:缺少 TRUE/FALSE 的值”?
- javascript - 为什么这个函数组件在 setState 之后不重新渲染?
- java - 有没有办法使在 IF 语句中定义的变量在语句本身之外可见和可用?
- css - Angular Material 表没有响应
- android - 嵌套 RecyclerView 在第一次滚动后在项目之间添加空间