python - 字典列表中的字典
问题描述
我有一长串像这样的字典
`SymbolInfo =
{
"time":1602832092060,
"data":[
{"id": "a", "symbol": "Name1", "high": "1.1", "last": "1"}
{"id": "b", "symbol": "Name2", "high": "2.2", "last": "2"}
{"id": "c", "symbol": "Name3", "high": "3.3", "last": "3"}
...]
}`
我想从中获取一个包含一些特定值的元组字典,比如
mydict = {'a': '1.1', 'b':'2.2', 'c':'3.3', ...}
我正在尝试使用 foo 循环,但由于我对 python 很陌生,我需要知道如何正确编写它。我现在有:
`mydict = {}
for x in symbolInfo:
prices['data'][x]['a'] = float(['data'][x]['high'])`
但我得到的错误是“TypeError:列表索引必须是整数或切片,而不是 str”
任何人都可以帮助我吗?提前谢谢了!
解决方案
这将为您提供您指定的预期输出:
mydict = {d["id"]: float(d["high"]) for d in SymbolInfo["data"]}
但我不确定这是否是你想要的。您的帖子中有很多缺失的信息。什么是prices
变量?你说你想要一个元组的字典作为输出,但你给出的预期输出只是一个普通的字典?
推荐阅读
- r - 分别从每个唯一因素获取 ANOVA 汇总统计数据
- python - python文件中shebang的zsh错误解释器错误
- python - pandas boxplot 中 boxplot 的奇怪变化将其与 seaborn pointplot 相结合 - 这是怎么回事?
- java - 系统关闭后如何运行spring cron调度程序
- laravel-8 - 在laravel 8中将数据播种到数据库时出错
- xml - 如何替换包含特定短语的 xml 中的值
- c# - c#扩展方法中如何在不枚举无限源的情况下检查参数
- laravel - Laravel:未定义的索引上限 tcpdf
- javascript - 如何获取用户输入值并使用 axios 发布它们
- vue.js - 如何将包含的 Pug 文件添加到 Vite 模块图中