我正在尝试访问列表中的字典,但似乎无法让我的for循环获取键,然后获取值。
我在这里放置了一张图片,以便于我解释。
所以您可以看到,我想导航到currency = AUD
并将余额值分配给变量,将其命名为aud_balance
for curr in result_bal_qr:
for k in curr:
if curr[k] == 'AUD':
我似乎无法获取密钥AUD
。所以我正式被困住了。
我试图在列表等中搜索字典,但没有我的问题的例子,或者甚至可能我理解的问题是错误的(很有可能)
感谢您的帮助。
答案 0 :(得分:3)
您有字典列表。您想在迭代过程中遍历列表,但又不想遍历每个字典本身。您只想查看其currency
键。所以:
for curr in result_bal_qrp:
if curr['currency'] == 'AUD':
print(curr['balance'])
注意,如果要多次遍历此列表以查找不同的货币,则可能值得将其转换为简单的货币余额法则:
curr_dict = {d['currency']: d['balance'] for d in result_bal_qrp}
现在您可以执行curr_dict['AUD']
来获取澳大利亚的余额。
答案 1 :(得分:0)
您可以使用list Comprehension
aud_balance = [d['balance'] for d in l if d['currency'] == 'AUD']