在Python中重新映射数组
如何在Python中重新映射数组 我的数组如下所示:在Python中重新映射数组,python,arrays,Python,Arrays,如何在Python中重新映射数组 我的数组如下所示: array = [ {"companyName": "HARRODS LIMITED", "companyNo": "00030209", "parentCompanyNo": "PRIMARY", "parentCompanyName": "PRIMARY"}, {"companyNo": "01889348", "companyNam
array = [
{"companyName": "HARRODS LIMITED",
"companyNo": "00030209",
"parentCompanyNo": "PRIMARY",
"parentCompanyName": "PRIMARY"},
{"companyNo": "01889348",
"companyName": "Harrods (Uk) Limited",
"parentCompanyNo": "00030209",
"parentCompanyName": "HARRODS LIMITED"},
{"companyNo": "01848143",
"companyName": "Harrods Holdings Limited",
"parentCompanyNo": "01889348",
"parentCompanyName": "Harrods (Uk) Limited"},
{"companyNo": "05961740",
"companyName": "Qh Partners Limited",
"parentCompanyNo":"01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"},
{"companyNo": "05990648",
"companyName": "Harrods Group (Holding) Limited",
"parentCompanyNo":"06511479",
"parentCompanyName": "Qh Participations Limited"},
{"companyNo": "Not Applicable",
"companyName": "Qatar Investment Authority",
"parentCompanyNo": "05990648",
"parentCompanyName": "Harrods Group (Holding) Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"}
]
{'HARRODS LIMITED': {'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY'},
'Harrods (Uk) Limited': {'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED'},
'Harrods Holdings Limited': {'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited'},
'Qh Partners Limited': {'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited'},
'Qh Participations Limited': {'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited'},
'Harrods Group (Holding) Limited': {'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited'},
'Qatar Investment Authority': {'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}}
我想更改数组,使数组中的对象在companyName键和parentCompanyNo键匹配时成为子对象
所以它看起来像这样:
[
{"companyName": "HARRODS LIMITED",
"companyNo": "**00030209**",
"parentCompanyNo": "PRIMARY",
"parentCompanyName": "PRIMARY",
"children": [
{"companyNo": "**01889348**",
"companyName": "Harrods (Uk) Limited",
"parentCompanyNo": "**00030209**",
"parentCompanyName": "HARRODS LIMITED",
"children": [
{"companyNo": "**01848143**",
"companyName": "Harrods Holdings Limited",
"parentCompanyNo": "**01889348**",
"parentCompanyName": "Harrods (Uk) Limited",
"children": [
{"companyNo": "05961740",
"companyName": "Qh Partners Limited",
"parentCompanyNo":"**01848143**",
"parentCompanyName": "Harrods Holdings Limited"}
]}
]}
]}
]
这是我能得到的最远的结果:
def looper(loop1, loopParent):
for item in obj1:
children('01889348', item)
if str(item['parentCompanyNo']) == loopParent:
item['children'] = [{'loopChildren': item}]
谢谢首先,让我们通过建立一个dict,让您轻松地按名称查找公司:
companies = {record['companyName']:record for record in array}
公司看起来是这样的:
array = [
{"companyName": "HARRODS LIMITED",
"companyNo": "00030209",
"parentCompanyNo": "PRIMARY",
"parentCompanyName": "PRIMARY"},
{"companyNo": "01889348",
"companyName": "Harrods (Uk) Limited",
"parentCompanyNo": "00030209",
"parentCompanyName": "HARRODS LIMITED"},
{"companyNo": "01848143",
"companyName": "Harrods Holdings Limited",
"parentCompanyNo": "01889348",
"parentCompanyName": "Harrods (Uk) Limited"},
{"companyNo": "05961740",
"companyName": "Qh Partners Limited",
"parentCompanyNo":"01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"},
{"companyNo": "05990648",
"companyName": "Harrods Group (Holding) Limited",
"parentCompanyNo":"06511479",
"parentCompanyName": "Qh Participations Limited"},
{"companyNo": "Not Applicable",
"companyName": "Qatar Investment Authority",
"parentCompanyNo": "05990648",
"parentCompanyName": "Harrods Group (Holding) Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"}
]
{'HARRODS LIMITED': {'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY'},
'Harrods (Uk) Limited': {'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED'},
'Harrods Holdings Limited': {'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited'},
'Qh Partners Limited': {'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited'},
'Qh Participations Limited': {'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited'},
'Harrods Group (Holding) Limited': {'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited'},
'Qatar Investment Authority': {'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}}
第二,检查dict项目。如果公司记录中列出的母公司在dict中,则将公司记录添加到母公司记录的“子公司”字段中。此外,请跟踪哪些公司是“is_child”集合中的子公司
is_child = set()
for company, record in companies.items():
parent = record['parentCompanyName']
if parent in companies:
children = companies[parent].setdefault('children', list())
children.append(record)
is_child.add(company)
公司现在看起来像:
({'HARRODS LIMITED': {'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY',
'children': [{'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]}]},
'Harrods (Uk) Limited': {'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]},
'Harrods Holdings Limited': {'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]},
'Qh Partners Limited': {'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]},
'Qh Participations Limited': {'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]},
'Harrods Group (Holding) Limited': {'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]},
'Qatar Investment Authority': {'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}},
[{'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY',
'children': [{'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]}]}]
你的孩子是:
最后,如果公司记录不是其他公司的子公司,则将其从dict复制到新数组中
new_array
new_array = [record for company, record in companies.items()
if company not in is_child]
新的_数组如下所示:
({'HARRODS LIMITED': {'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY',
'children': [{'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]}]},
'Harrods (Uk) Limited': {'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]},
'Harrods Holdings Limited': {'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]},
'Qh Partners Limited': {'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]},
'Qh Participations Limited': {'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]},
'Harrods Group (Holding) Limited': {'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]},
'Qatar Investment Authority': {'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}},
[{'companyName': 'HARRODS LIMITED',
'companyNo': '00030209',
'parentCompanyNo': 'PRIMARY',
'parentCompanyName': 'PRIMARY',
'children': [{'companyNo': '01889348',
'companyName': 'Harrods (Uk) Limited',
'parentCompanyNo': '00030209',
'parentCompanyName': 'HARRODS LIMITED',
'children': [{'companyNo': '01848143',
'companyName': 'Harrods Holdings Limited',
'parentCompanyNo': '01889348',
'parentCompanyName': 'Harrods (Uk) Limited',
'children': [{'companyNo': '05961740',
'companyName': 'Qh Partners Limited',
'parentCompanyNo': '01848143',
'parentCompanyName': 'Harrods Holdings Limited',
'children': [{'companyNo': '06511479',
'companyName': 'Qh Participations Limited',
'parentCompanyNo': '05961740',
'parentCompanyName': 'Qh Partners Limited',
'children': [{'companyNo': '05990648',
'companyName': 'Harrods Group (Holding) Limited',
'parentCompanyNo': '06511479',
'parentCompanyName': 'Qh Participations Limited',
'children': [{'companyNo': 'Not Applicable',
'companyName': 'Qatar Investment Authority',
'parentCompanyNo': '05990648',
'parentCompanyName': 'Harrods Group (Holding) Limited'}]}]}]}]}]}]}]
现在,将其全部放在一个漂亮的小函数中:
def remapper(array):
companies = {record['companyName']:record for record in array}
is_child = set()
for company, record in companies.items():
parent = record['parentCompanyName']
if parent in companies:
children = companies[parent].setdefault('children', list())
children.append(record)
is_child.add(company)
return [record for company, record in companies.items()
if company not in is_child]
您可以使用递归就地解决这个问题,修改数组直到它只有一个根元素。此解决方案节省内存,因为它只在您开始使用的同一词典中移动引用,只在必要时创建新列表以容纳列表子项:
array = [
{"companyName": "HARRODS LIMITED",
"companyNo": "00030209",
"parentCompanyNo": "PRIMARY",
"parentCompanyName": "PRIMARY"},
{"companyNo": "01889348",
"companyName": "Harrods (Uk) Limited",
"parentCompanyNo": "00030209",
"parentCompanyName": "HARRODS LIMITED"},
{"companyNo": "01848143",
"companyName": "Harrods Holdings Limited",
"parentCompanyNo": "01889348",
"parentCompanyName": "Harrods (Uk) Limited"},
{"companyNo": "05961740",
"companyName": "Qh Partners Limited",
"parentCompanyNo":"01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "01848143",
"parentCompanyName": "Harrods Holdings Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"},
{"companyNo": "05990648",
"companyName": "Harrods Group (Holding) Limited",
"parentCompanyNo":"06511479",
"parentCompanyName": "Qh Participations Limited"},
{"companyNo": "Not Applicable",
"companyName": "Qatar Investment Authority",
"parentCompanyNo": "05990648",
"parentCompanyName": "Harrods Group (Holding) Limited"},
{"companyNo": "06511479",
"companyName": "Qh Participations Limited",
"parentCompanyNo": "05961740",
"parentCompanyName": "Qh Partners Limited"}
]
def add_to_tree(parent_candidate, item):
if item['parentCompanyNo'] == parent_candidate['companyNo']:
parent_candidate.setdefault('children',[]).append(item)
return True
return any(add_to_tree(x, item) for x in parent_candidate.get('children'))
def remap(arr):
root = next(x for x in arr if x['parentCompanyNo'] == 'PRIMARY')
while len(arr)>1:
curIndex = next(i for i in range(len(arr)) if arr[i]['parentCompanyNo'] != "PRIMARY")
curItem = array.pop(curIndex)
any(add_to_tree(x, curItem) for x in arr)
remap(array)
import pprint
pprint.pprint(array)
根据您的需要,您的解决方案可能会大不相同。维持秩序重要吗?重要的是,孩子们也可以生孩子,还是只嵌套一次?会有多个顶级公司吗?这就是为什么你还想在最后列出一份清单的原因吗?@chet是的,可以有孩子的孩子,等等。Thanks@KarlKnechtel是-只有一家顶级公司-Thanks@tbowden卡塔尔投资局怎么了?为什么Qh Participations Limited没有出现在树中?