繁体   English   中英

字典列表上的python过滤器功能

[英]python filter function on a list of dictionaries

假设我从 api 得到以下结果:

[
    {
          "id":"1234",
          "views":132624,
          "rate":"4.43",
          "url":"someurl.com",
          "added":"2022-06-14 16:27:28",
          "default_thumb":{
             "size":"medium",
             "width":640,
             "height":360,
          }
    },
    {
          "id":"1234",
          "views":132624,
          "rate":"4.43",
          "url":"someurl.com",
          "added":"2022-06-14 16:27:28",
          "default_thumb":{
             "size":"medium",
             "width":640,
             "height":360,
          }
    },
    ...
]

我只想在字典中获取 url,为此我尝试使用 python filter()函数过滤列表:

fetched_urls = list(filter(lambda video_data: video_data['url'] , videos_data))

但是当我打印fetched_urls时,我将在没有任何过滤过程的情况下获得所有数组,有没有办法使用filter()函数来实现这个过滤数组?

您需要map而不是filter

如果满足条件,过滤器将返回项目。 尝试这个:

[a['url'] for a in video_data if 'url' in a]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM