Python 从dict中提取数据

Python 从dict中提取数据,python,list,dictionary,Python,List,Dictionary,下面是我正在处理的数据的一个示例 {'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk"', 'items': [{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BmKmPBggty2mZQ"', 'id': '1', 'kind': 'youtube#videoCategory', 's

下面是我正在处理的数据的一个示例

{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk"',
 'items': [{'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BmKmPBggty2mZQ"',
            'id': '1',
            'kind': 'youtube#videoCategory',
            'snippet': {'assignable': True,
                        'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
                        'title': 'Film & Animation'}},
           {'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/UZ1oLIIz2dxIhO45ZTFR3a3NyTA"',
            'id': '2',
            'kind': 'youtube#videoCategory',
            'snippet': {'assignable': True,
                        'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
                        'title': 'Autos & Vehicles'}},
           {'etag': '"ld9biNPKjAjgjV7EZ4EKeEGrhao/nqRIq97-xe5XRZTxbknKFVe5Lmg"',
            'id': '10',
            'kind': 'youtube#videoCategory',
            'snippet': {'assignable': True,
                        'channelId': 'UCBR8-60-B28hp2BmDPdntcQ',
                        'title': 'Music'}},
 'kind': 'youtube#videoCategoryListResponse'}
我想提取两列数据

  • “身份证”
  • “头衔”
  • 也就是说,从第一项开始,我将拥有
    'id'=1,'title'=Film&Animation

    我对Python非常陌生,在Python中实现这一点的最佳方法是什么

    非常感谢大家

    我想是的

    for it in data['items']:
      print(it['id'], it['snippet']['title'])
    

    “项目”是一个对象列表,您可以通过for循环对其进行迭代:

    for item in your_data['items']:
        id = item['id']
        title = item['snippet']['title']
        print(id, title)
    

    我猜有一个输入错误,
    'items'
    键是一个
    列表
    ,每当我们开始括号(
    [
    )时,我们需要关闭它们(
    ]

    {'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/1v2mrzYSYG6onNLt2qTj13hkQZk',
    “项目”:[{'etag':'“ld9biNPKjAjgjV7EZ4EKeEGrhao/Xy1mB4_yLrHy_BMKMPBGTY2MZQ”,
    “id”:“1”,
    “种类”:“youtube视频分类”,
    'snippet':{'assignable':True,
    “channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
    “标题”:“电影与动画”},
    {'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/UZ1oLIIz2dxIhO45ZTFR3a3NyTA',
    “id”:“2”,
    “种类”:“youtube视频分类”,
    'snippet':{'assignable':True,
    “channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
    “标题”:“汽车和车辆”},
    {'etag':'ld9biNPKjAjgjV7EZ4EKeEGrhao/nqRIq97-xe5XRZTxbknKFVe5Lmg',
    “id”:“10”,
    “种类”:“youtube视频分类”,
    'snippet':{'assignable':True,
    “channelId”:“UCBR8-60-B28hp2BmDPdntcQ”,
    'title':'Music'},#0(过滤数据)
    [如果行['id']>0,则数据['items']中的行对应行]
    
    合并两个过滤数据提取特殊字段:

    [(r['id'],r['snippet']['title'])如果r['id']>0,则表示数据['items']中的r
    
    同时给
    过滤器
    一个机会
    真的很酷

    f=lambda r:(r['id'],r['snippet']['title'])
    结果=过滤器(f,数据['items'])
    
    这不是JSON,这是一个dict。访问嵌套字典键并不难欢迎使用StackOverflow!这很好,您已经发布了示例数据,但请添加您迄今为止一直在尝试的代码片段-以显示您的努力和方法,以及您希望如何解决此问题。感谢您的评论和建议ns,我对编码和堆栈溢出都是新手,所以我以后会记住上面的内容。谢谢!我会尝试一下。我非常感谢你的时间和努力。谢谢!我会尝试一下。我非常感谢你花时间来帮助我。感谢你全面的解决方案!我会尝试一下。我对Python非常陌生o我真的很感激。