Python 获取字典中嵌套键的值

Python 获取字典中嵌套键的值,python,json,Python,Json,我有一个json数据,我想使用“account”键的值来获取它的值。这就是我的意思 >>> vd=vxa.json() >>> vd['outputs'] [{u'account': u'3422VtS7UtCvXYxoXTPnNp8HS6uCHm6j9p86', u'value': 83383165, u'vout': 0}, {u'account': u'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', u'vout':

我有一个json数据,我想使用“account”键的值来获取它的值。这就是我的意思

>>> vd=vxa.json()
>>> vd['outputs']
[{u'account': u'3422VtS7UtCvXYxoXTPnNp8HS6uCHm6j9p86', u'value': 83383165, 
  u'vout': 0}, {u'account': u'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', u'vout': 
  1, u'chain': 10, u'isMine': True, u'value': 13155, u'chainIndex': 6}]
因此,我想使用实际的帐户密钥获取
'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
的值

当我这么做的时候

>>>vd['outputs']('account':'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE')['value']
我得到

'SyntaxError: invalid syntax'

我缺少什么?

输出值是一个列表。你可以反复浏览你的列表

Ex:

for i in vd['outputs']:
    if i["account"] == '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE':
        print(i["value"])

vd['outputs']
是一个字典列表。假设这个列表的顺序是稳定的API,您可以

vd['outputs'][1]['value']
如果顺序不是常数,则需要使用

def get_value(account):
    for d in vd['outputs']:
        if d['account'] == account:
            return d['value']

另一种理解这是一个列表的方法是稍微改变一下格式:

my_list = [
    {u'account': u'3422VtS7UtCvXYxoXTPnNp8HS6uCHm6j9p86', 
     u'value': 83383165, 
     u'vout': 0}, 
    {u'account': u'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', 
     u'vout': 1, 
     u'chain': 10, 
     u'isMine': True, 
     u'value': 13155, 
     u'chainIndex': 6}
]

# 3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
my_dict = my_list[1]
my_account = my_dict[u'account']
print(my_dict)
print(my_account)
输出:

{'account': '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', 'vout': 1, 'chain': 10, 'isMine': True, 'value': 13155, 'chainIndex': 6}
3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
试试这个:

value_to_find = '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE'
for dic in vd['outputs']:
    if dic['account'] == value_to_find:
        print('Value =', dic['value'])
输出:

Value = 13155