python - 从 Python 子字典访问值

标签 python json python-3.x dictionary request

我使用 API 抓取了一个网页,想访问结果的一部分,但访问起来有困难:

import requests
import json
headers = {'x-api-key': 'my_key'}
test_url= "https://api.propublica.org/congress/v1/statements/date/2018-05- 
22.json"
resp = requests.get(test_url, headers=headers).json()

结果以如下所示的字典格式出现:

[{'chamber': 'Senate',
          'congress': 115,
          'party': 'R',
          'state': 'NC',
          'url': 'url1_goes_here'},
{'chamber': 'Senate',
          'congress': 115,
          'party': 'R',
          'state': 'ND',
          'url': 'url2_goes_here'}]

我想从每个条目中提取“url”值,但这些条目似乎没有我可以向下钻取的键。我怎样才能访问这些?我认为:

resp["url]

会工作,但我没有任何运气。我理想中想要的输出是这样的:

[url1, url2]

最佳答案

您需要依次从 resp 列表中提取每个 URL。一个简单的列表理解就可以:

urls = [entry['url'] for entry in resp]

关于python - 从 Python 子字典访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50492713/

相关文章:

python - python3 中的 sys.stdout.write 在字符串末尾添加 11

python - Theano 测试文件无法编译

javascript - HTML 表 SBadmin Bootstrap 来自 JSON

android - 如何从 url 保存 JSON 并在固定间隔(比如 5 分钟)后从 url 更新保存的文件

python - 如何向 CSV 文件添加新列?

python - 从多维列表 Python 中获取项目

python - 如何在不最大化的情况下制作一个占据全屏的窗口?

json - Jackson 默认 JsonView 用于序列化

python - Python 取模问题

python - 过滤字典列表的最快方法?