首页 > 解决方案 > 字典中的双重索引

问题描述

我正在尝试从字典中提取一条信息 num_buy_ratings,如下所示:

在第一种情况下,字典就像

buy = robin_stocks.stocks.get_ratings(symbol, info='summary')  
Out[96]: 
    {'summary': {'num_buy_ratings': 4,
      'num_hold_ratings': 2,
      'num_sell_ratings': 1},
     'ratings': [],
     'instrument_id': '4d591f16-7f0a-4fe7-a369-5346a61c0dfb',
     'ratings_published_at': None}

下一个案例,字典就像

buy = robin_stocks.stocks.get_ratings(symbol, info='summary')
Out[99]: {'num_buy_ratings': 25, 'num_hold_ratings': 12, 'num_sell_ratings': 4}

如何使用一个命令访问 num_buy_ratings 而不是第一种情况下的双索引和后一种情况下的单索引?

标签: pythondictionaryindexing

解决方案


你可以做:

d = {'summary': {'num_buy_ratings': 4,
      'num_hold_ratings': 2,
      'num_sell_ratings': 1},
     'ratings': [],
     'instrument_id': '4d591f16-7f0a-4fe7-a369-5346a61c0dfb',
     'ratings_published_at': None}

print( d.get('summary', d)['num_buy_ratings'] )

印刷:

4

对于d = {'num_buy_ratings': 25, 'num_hold_ratings': 12, 'num_sell_ratings': 4}

print( d.get('summary', d)['num_buy_ratings'] )

印刷:

25

推荐阅读