Python:Jupyter:如何 select 字典和列表中的特定字符串。传统方法不起作用

Python: Jupyter: How select a specific string in a Dict & List. conventional methods aren't working

大家好,我正在从看起来像这样的 API 获取数据。 .

BalR= c.get_balances(assets)
print(BalR)

{'balance': [{'account_id': '619619619619', 'asset': 'LUX', 'balance': '17639852741.00', 'reserved': '619619', 'unconfirmed': '619619'}]}

我正在尝试将这个 'balance': '17639852741.00' 的浮点数附加到这个变量 BalR,这是我迄今为止尝试过的方法。 . .

array2=[]
for i in BalR:
    if "balance" in i:
        array2.append(i)
print(array2)

['balance']

for key, value in BalR.items():
    print(key, ' : ', value)

{'balance': [{'account_id': '619619619619', 'asset': 'LUX', 'balance': '17639852741.00', 'reserved': '619619', 'unconfirmed': '619619'}]}

print(BalR['balance'])

{'balance': [{'account_id': '619619619619', 'asset': 'LUX', 'balance': '17639852741.00', 'reserved': '619619', 'unconfirmed': '619619'}]}

for k, v in BalR.items():
    if k == 'balance':
        print(v)
{'balance': [{'account_id': '619619619619', 'asset': 'LUX', 'balance': '17639852741.00', 'reserved': '619619', 'unconfirmed': '619619'}]}

for k, v in BalR.balance():
    if k == 'balance':
        print(v)
AttributeError                            Traceback (most recent call last)
<ipython-input-7-0885ed5d34e7> in <module>
----> 1 for k, v in BalR.balance():
      2     if k == 'balance':
      3         print(v)

AttributeError: 'dict' object has no attribute 'balance'

print(BalR.balance[2])
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-10-a6a9f44f2008> in <module>
----> 1 print(BalR.balance[2])

AttributeError: 'dict' object has no attribute 'balance'

请指教

你的字典中有一个列表,你应该获取列表中的第一项,然后使用字典中的键。

BalR = {'balance': [{'account_id': '619619619619', 'asset': 'LUX', 
'balance': '17639852741.00', 'reserved': '619619', 'unconfirmed': '619619'}]}
BalR['balance'][0]['balance']
'17639852741.00'

此外,如果您的 balance 中有多个字典,我建议您使用列表理解。