我在變數平衡中有這樣的字典
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'])
它顯示錯誤。
型別錯誤:串列索引必須是整數或切片,而不是 str
如何從字典中獲取資料?
uj5u.com熱心網友回復:
假設有只將永遠是一個資產'B'在balance['balances']:
print(*[b['free'] for b in balance['balances'] if b['asset'] == 'B'])
結果:
0.02
如果您只需要變數中的值:
list_free_for_b_assets = [b['free'] for b in balance['balances'] if b['asset'] == 'B']
uj5u.com熱心網友回復:
balances 鍵的值是一個 list ,所以你必須通過它們的索引訪問串列項:
print(balance["balances"][1]["free"])
> 0.02
uj5u.com熱心網友回復:
你必須迭代余額或索引它。免費獲取內容。
balance["balances"][1]['free'] #'0.02'
或者
for item in balance["balances"]:
item['free'] # '0.01', '0.02', ...
uj5u.com熱心網友回復:
Python 詞典使用{}'s. Python 串列使用[]'s.
你的主要物件有3個領域:makerComission與takerComission這兩者都是數字,balances這是一個串列更JSON物件。因此,您必須使用數字來訪問串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373928.html
