首页 > 解决方案 > 解析字典的字典时,是否可以使用通配符选项来访问嵌套字典?

问题描述

我有这个数据:

 {'6': {'Change': '109,438',
  'Name': 'Prologis Inc',
  'Owned': '609,826',
  'Weight': ' 2.14'},
 '7': {'Change': '48,032',
  'Name': 'The Home Depot Inc',
  'Owned': '208,967',
  'Weight': ' 2.02'},
 '8': {'Change': '61,235',
  'Name': 'Facebook Inc A',
  'Owned': '220,558',
  'Weight': ' 2.01'},
 '9': {'Change': '32,045',
  'Name': 'NextEra Energy Inc',
  'Owned': '205,412',
  'Weight': ' 1.98'}}

它是字典中的字典,我想提取“姓名”和“体重”。我正在努力通过第一层(有数字的那个)所以这段代码不起作用:

mylist = []
stocks = holdings[0]
for s in stocks:
    m = (s['Name'], s['Weight'])
    mylist.append(m)

标签: python

解决方案


您想迭代stocks.values()以获取值而不是键:

>>> [(s['Name'], s['Weight']) for s in stocks.values()]
[('Prologis Inc', ' 2.14'), ('The Home Depot Inc', ' 2.02'), ('Facebook Inc A', ' 2.01'), ('NextEra Energy Inc', ' 1.98')]

推荐阅读