首页 > 解决方案 > 字典列表中的字典

问题描述

我有一长串像这样的字典

`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”

任何人都可以帮助我吗?提前谢谢了!

标签: pythonpython-3.xlistdictionarytuples

解决方案


这将为您提供您指定的预期输出:

mydict = {d["id"]: float(d["high"]) for d in SymbolInfo["data"]}

但我不确定这是否是你想要的。您的帖子中有很多缺失的信息。什么是prices变量?你说你想要一个元组的字典作为输出,但你给出的预期输出只是一个普通的字典?


推荐阅读