Python:从包含数组的字典数组中提取列表

Gre*_*ier 0 python arrays dictionary nested

我担心这个问题有点令人费解.我在api上写了一个函数测试,当我查询它时,返回一堆带有嵌入式列表的json.这是一个看起来像的重要片段(所有数据都为此问题匿名):

[{u'account': {u'account_name': u'Autotest Account',
               u'account_uid': u'000000000'},
  u'address': {u'city': u'AutoTest City',
               u'country': u'United States',
               u'postal_code': u'10019',
               u'province': None,
               u'state': u'IL',
               u'street': [u'12 Auto Road']},
  u'children': [{u'institution_name': u'Autotest Bottom Institution 1',
                 u'institution_type': 1,
                 u'institution_uid': u'111111111'},
                {u'institution_name': u'Autotest Bottom Institution 2',
                 u'institution_type': 1,
                 u'institution_uid': u'222222222'},
                {u'institution_name': u'Autotest Bottom Institution 3',
                 u'institution_type': 1,
                 u'institution_uid': u'333333333'},
                {u'institution_name': u'Autotest Bottom Institution 4',
                 u'institution_type': 1,
                 u'institution_uid': u'444444444'},
                {u'institution_name': u'Autotest Bottom Institution 5',
                 u'institution_type': 1,
                 u'institution_uid': u'555555555'},
                {u'institution_name': u'Autotest Bottom Institution 6',
                 u'institution_type': 1,
                 u'institution_uid': u'666666666'},
                {u'institution_name': u'Autotest Bottom Institution 7',
                 u'institution_type': 1,
                 u'institution_uid': u'777777777'},
                {u'institution_name': u'Autotest Bottom Institution 8',
                 u'institution_type': 1,
                 u'institution_uid': u'888888888'}],
  u'institution_name': u'Autotest Middle Institution 1',
  u'institution_type': 2,
  u'institution_uid': u'000000001',
  u'parent': {u'institution_name': u'Autotest Top Institution',
              u'institution_type': 3,
              u'institution_uid': u'000000099'},
  u'school_year': 2011},
 {u'account': {u'account_name': u'Autotest Account',
               u'account_uid': u'000000000'},
  u'address': {u'city': u'Bacon City',
               u'country': u'United States',
               u'postal_code': u'10018',
               u'province': None,
               u'state': u'IL',
               u'street': [u'15 Wonder Road']},
  u'children': [],
  u'institution_name': u'Autotest Bottom Institution 1',
  u'institution_type': 1,
  u'institution_uid': u'111111111',
  u'parent': {u'institution_name': u'Autotest Middle Institution 1',
              u'institution_type': 2,
              u'institution_uid': u'000000001'},
  u'school_year': 2011}]
Run Code Online (Sandbox Code Playgroud)

我想要完成的是从JSON中提取所有"底层机构"名称,并将它们放入一个列表中,然后我可以将其与已经在我的测试夹具数据中的列表进行比较.它应该看起来像这样:

['Autotest Bottom Institution 1','Autotest Bottom Institution 2','Autotest Bottom Institution 3','Autotest Bottom Institution 4','Autotest Bottom Institution 5','Autotest Bottom Institution 6','Autotest Bottom Institution 7','Autotest Bottom Institution 8']

在将数据加载到"inst_array"之后,我可以一次一个地或通过迭代提取它们,如下所示:

>>> print inst_array[0]['children'][0]['institution_name']
Autotest Bottom Institution 1
>>> print inst_array[0]['children'][1]['institution_name']
Autotest Bottom Institution 2
>>> print inst_array[0]['children'][2]['institution_name']
Autotest Bottom Institution 3
Run Code Online (Sandbox Code Playgroud)

但这里是踢球者:我希望能够在没有迭代的情况下做到这一点(或者,尽可能少的迭代),并且因为在这里嵌套了无数层,所以让我感到困惑.

有什么想法吗?