如何使用 Python 从 JSON 获取单个键的值列表

Afs*_* KK 4 python variables select json fetch

我有这些列表,我想获取名称的值:

[{
  "tr": [{
      "name": "#For5Rs",
      "promoted_content": null,
      "query": "%23For5Rs",
      "events": null
  }, {
      "name": "Javed Bashir",
      "promoted_content": null,
      "query": "%22Javed+Bashir%22",
      "events": null
  }, {
      "name": "Milan Luthria",
      "promoted_content": null,
      "query": "%22Milan+Luthria%22",
      "events": null
  }, {
      "name": "Vidya Balan",
      "promoted_content": null,
      "query": "%22Vidya+Balan%22",
      "events": null
  }],
  "as_of": "2013-08-16T10:31:35Z",
  "created_at": "2013-08-16T10:20:41Z",
  "locations": [{
      "name": "India",
      "woeid": 23424848
  }]
}]
Run Code Online (Sandbox Code Playgroud)

Afs*_* KK 8

for element in data['tr']:
    print element['name']
    print element['promoted_content']
    print element['query']
    print element['events']
Run Code Online (Sandbox Code Playgroud)


Ben*_*own 6

您问,“我有一个字典列表。每个字典都有一个键"name"。我如何获取所有这些键的值列表?”

基本

  • 使用括号中的索引访问列表元素。a[0]是列表的第一个元素。

  • 使用括号中的键访问字典值。a["name"]来自。this_value​{"name":this_value}

  • 使用循环聚合值,如下所示:

    aggregator = []
    for item in a_list:
        aggregator.append(value_calculated_from(item))
    
    Run Code Online (Sandbox Code Playgroud)

问题有问题

your_list没有配对的方括号。

我会假设

outer_dictionary = your_list[0]
list_of_dictionaries = outer_dictionary['tr']
Run Code Online (Sandbox Code Playgroud)

回答

您可以获得“name”的值列表:

names = []
for dictionary in list_of_dictionaries:
    if "name" in dictionary:
        names.append(dictionary["name"])
Run Code Online (Sandbox Code Playgroud)