【发布时间】:2021-12-03 02:15:52
【问题描述】:
我在可变余额中有这样的字典
print(balance)
{'makerCommission': 10, 'takerCommission': 10,
'balances': [
{'asset': 'A', 'free': '0.01'},
{'asset': 'B', 'free': '0.02'},
{'asset': 'C', 'free': '0.03'}]}
我想从 B 中获得价值,即 0.02。我尝试使用此代码。
print(balance["balances"]['asset']['B'])
显示错误。
TypeError: 列表索引必须是整数或切片,而不是 str
如何从字典中获取数据?
【问题讨论】:
-
print(balance["balances"])产生什么?这是否解释了为什么您的代码不起作用,并建议如何修复它? -
balance['balances']的值为[{'asset': 'A', 'free': '0.01'}, {'asset': 'B', 'free': '0.02'}, {'asset': 'C', 'free': '0.03'}]。因此,它具有列表结构。所以,如果你想访问B,那么你应该指定访问索引。建议的示例是balance['balances'][1]['asset'],因此结果将是B。 -
我认为你想要做的是
balance["balances"][1]["free"],因为balances键有一个资产数组作为其值,而 b 是该数组的第二个元素
标签: python list dictionary