python搜索包含嵌套字典列表的字典

时间:2020-04-01 08:00:09

标签: python list dictionary

我希望从如下所示的Dict中提取所有“符号”:

file_data = json.load(f)

{
  "symbolsList" : [ {
    "symbol" : "SPY",
    "name" : "SPDR S&P 500",
    "price" : 261.56,
    "exchange" : "NYSE Arca"
  }, {
    "symbol" : "CMCSA",
    "name" : "Comcast Corporation Class A Common Stock",
    "price" : 35.49,
    "exchange" : "Nasdaq Global Select"
  }, {
    "symbol" : "KMI",
    "name" : "Kinder Morgan Inc.",
    "price" : 13.27,
    "exchange" : "New York Stock Exchange"
  }
}

在查找之后,我找到了一种访问某些符号的方法。但是我想以列表或字典的形式获取所有符号对我来说并不重要。 这就是我得到的:

print([next(item for item in file_data["symbolsList"] if item["symbol"] == "SPY")])

我知道问题在于下一个函数,我只是不知道如何获取所有符号

1 个答案:

答案 0 :(得分:4)

您可以使用列表理解:

[e['symbol'] for e in d['symbolsList']]

输出:

['SPY', 'CMCSA', 'KMI']

使用for循环进行同样的操作:

result = []
for e in d['symbolsList']
    result.append(e['symbol'])