首页 > 解决方案 > python搜索包含嵌套字典列表的字典

问题描述

我希望从看起来像这样的 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")])

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

标签: pythonlistdictionary

解决方案


您可以使用列表理解:

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

输出:

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

使用for循环同样的事情:

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

推荐阅读