我有一长串这样的字典
`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', ...}
我试图用一个底循环,但因为我是很新的python,我需要知道如何正确地写它。现在我有:
`mydict = {}
for x in symbolInfo:
prices['data'][x]['a'] = float(['data'][x]['high'])`
但是我得到的错误是"TypeError:列表索引必须是整数或切片,而不是字符串">
有谁能帮我吗?提前感谢!这将得到您指定的预期输出:
mydict = {d["id"]: float(d["high"]) for d in SymbolInfo["data"]}
但我不确定这是否是你想要的。你的帖子里有很多遗漏的信息。prices
变量是什么?你说你想要一个元组的字典作为输出,但是你给出的预期输出只是一个普通的字典?
您不需要遍历整个字典,您只需要Data key所以你也可以这样做:
Dict = {}
for x in SymbolInfo["data"]:
Dict[x['id']]=x['high']