如何在Python中删除列表项

2024-04-28 16:25:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如果当前对象的“title”等于“Private video”,我想删除列表项“snippet、contentDetails和status”。有没有一个简单的方法

下面是我收到的JSON响应示例:

{
    "nextPageToken": "CDIQAA",
    "items": [{
            "snippet": {
                "title": "Zu Tisch... im Marais Poitevien | ARTE"
            },
            "contentDetails": {
                "videoId": "HjrsjdnpcBk"
            },
            "status": {
                "privacyStatus": "public"
            }
        },
        {
            "snippet": {
                "title": "Private video"
            },
            "contentDetails": {
                "videoId": "arRStb8Hk00"
            },
            "status": {
                "privacyStatus": "private"
            }
        }
    ],
    "pageInfo": {
        "totalResults": 81
    }
}

这是移除后的外观:

{
    "nextPageToken": "CDIQAA",
    "items": [{
            "snippet": {
                "title": "Zu Tisch... im Marais Poitevien | ARTE"
            },
            "contentDetails": {
                "videoId": "HjrsjdnpcBk"
            },
            "status": {
                "privacyStatus": "public"
            }
        }
    ],
    "pageInfo": {
        "totalResults": 81
    }
}

Tags: titlevideostatusitemsprivatesnippetzuim
1条回答
网友
1楼 · 发布于 2024-04-28 16:25:11

一个简单的列表理解应该可以做到这一点

j = {
"nextPageToken": "CDIQAA",
"items": [{
        "snippet": {
            "title": "Zu Tisch... im Marais Poitevien | ARTE"
        },
        "contentDetails": {
            "videoId": "HjrsjdnpcBk"
        },
        "status": {
            "privacyStatus": "public"
        }
    },
    {
        "snippet": {
            "title": "Private video"
        },
        "contentDetails": {
            "videoId": "arRStb8Hk00"
        },
        "status": {
            "privacyStatus": "private"
        }
    }
],
"pageInfo": {
    "totalResults": 81
}
}

j['items'] = [item for item in j['items'] if item['snippet']['title'] != 'Private video']

输出:

{'nextPageToken': 'CDIQAA',
 'items': [{'snippet': {'title': 'Zu Tisch... im Marais Poitevien | ARTE'},
   'contentDetails': {'videoId': 'HjrsjdnpcBk'},
   'status': {'privacyStatus': 'public'}}],
 'pageInfo': {'totalResults': 81}}

相关问题 更多 >