python - 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")])
我知道问题出在下一个函数我只是不知道如何获取所有符号
解决方案
您可以使用列表理解:
[e['symbol'] for e in d['symbolsList']]
输出:
['SPY', 'CMCSA', 'KMI']
使用for
循环同样的事情:
result = []
for e in d['symbolsList']
result.append(e['symbol'])
推荐阅读
- python - numpy.testing.assert_allclose 的相对差异
- elasticsearch - 如何在 Kubernetes 中将保存的对象挂载到 kibana?
- python - 如何使用 python 脚本从 assembla 下载带有密钥和秘密的文件
- google-cloud-dataflow - Apache Beam - 仅滑动窗口发出最早的活动窗口
- javascript - (S)CSS 中的 JS Sapper + Bulma 断点
- java - 找到“平衡数”的算法 - 相同数量的偶数和奇数除法器
- python - 增加一个变量并存储该值?Python
- python-2.7 - 名称错误:未定义名称“pynative”
- xml - SQL 返回 XML 并需要在屏幕上显示
- scala - 如何使用 Play 和 sbt 在 CI 中使用单独的配置文件进行测试?